php扩展开发(一)
万事开头难,为了开头简单一点,按照惯例先完成Hello World的编写。
首先找到php源码包,里面有个ext目录。ext目录包含php内置的一些扩展包。如下

比较特殊的是ext_skel.php
,这是php扩展的创建脚本,执行下面命令可以创建一个扩展
1 | php ./ext_skel.php --ext my_ext |
出现下面的结果表示正常

一个扩展就这么创建完成了,扩展名称my_ext
。进入到扩展目录,使用下面命令编译扩展到php运行环境
1 | phpize && ./configure && make && make install |
一般不会出问题,如果编译失败或者报错,检查phpize,php-config是否在PATH目录,make, gcc,gcc-c++或者g++是否安装
此时扩展还未加载,需要增加扩展配置文件,如下
1 | echo "extension=my_ext.so" > /usr/local/php/php-7.4.27/etc/conf.d/my_ext.ini |
安装位置不同,配置文件路径会有所不同。使用
php --ini
命令查看当前php环境配置文件路径
然后查看扩展是否正常
1 | php --ri my_ext |

默认情况下,扩展创建脚本会创建测试函数,分别是my_ext_test1
和my_ext_test2
进入php交互模式测试扩展是否正常运行

这就是php扩展的HELLO WORLD了。后续可以基于此进行扩展开发