2.2. 编译
1.
代码写好以后,到PHPSRC目录,运行./buildconf --force,除非m4文件有错或者autoconf安装有问题,否则这个步骤不会有什么错误,时间也不长. 通过删除configure文件,可以强迫buildconf重新生成一遍.
2.
运行./configure --disable-all --with-testext=shared
--disable-all是为了减少配置和下一步编译的时间,因为我们只需要自己的模块
--with-testext=shared指明了讲这个模块编译成动态链接库,而不是集成到PHP内部
3.
运行make
这个过程时间比较长,如果你的代码有问题,就会出现编译或者链接错误,根据提示自己修改就是了. 如果没什么问题,就会在PHPSRC/modules下面生成扩展文件testext.so,同时也会生成PHPSRC/sapi/cli/php. 可以运行./sapi/cli/app ext/testext/testext.php来测试模块是否正常. 不过这之前要先把testext.so复制到某个特定的目录下,这个目录不同的系统不一样,你可以根据运行/sapi/cli/app ext/testext/testext.php得到的错误信息来知道这个目录.
4.
如果测试没有问题,就可以安装到正式的PHP里去了,通过修改php.ini文件然后重起Apache就可以.
2.3. 调试
用gdb可以调试PHP的扩展.首先要写一个php脚本用来测试你想测试的功能, 把它放到PHPSRC目录下,比如叫test.php. 然后按如下步骤进行:
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报。