【PHP 扩展开发】Hello World

前面两篇介绍了 Zephir ,今后能够开发本身的扩展了,可毕竟是经过转换而来,虽然很方便,可对于扩展仍是只知其一;不知其二,也没法判断其好坏,因此仍是要了解下用原生的方法是怎么开发一个 PHP 扩展的。php

本文以 php-7.2.15 为例php7

建立扩展骨架测试

# 源码路径
cd /usr/local/src/php-7.2.15/ext 
./ext_skel --extname=twinkle_log

提示以下spa

clipboard.png

提示已建立好基础文件,若是想使用这个新扩展,须要噼里啪啦这么些布骤,先记着就好。3d

修改config.m4指针

cd twinkle_log
vi config.m4

clipboard.png

这两块注释选一个先打开,具体含义后面文章再说明,咱们选下面的code

建立本身的方法blog

vi twinkle_log.c

clipboard.png

声明该方法ip

clipboard.png

注意大小写敏感内存

编译安装

/usr/local/php72/bin/phpize
./configure --with-php-config=/usr/local/php72/bin/php-config
make 
make install

填加扩展

vi /usr/local/php72/lib/php.ini
# 填加扩展 extension=twinkle_log

测试一下

clipboard.png

扩展安装成功

<?php

// test.php

hello_world();

执行脚本

php -f test.php

clipboard.png

执行成功。

这样咱们就建立了一个很是简单的扩展,虽是很简单的扩展,可仍是比 Zephir 复杂不少。

固然他啥用也没有,没有涉汲到内存管理,没有使用指针,作了这一些操做,也不知道是啥意思,带着疑问,咱们慢慢深刻研究。

相关文章
相关标签/搜索