企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
>[info]###CentOS下开发自己的PHP扩展(基于PHP5.6.29)<b/> 作者 : fankey <6424051@qq.com> 时间 : 2017-02-21 文章参考1 : http://blog.csdn.net/hguisu/article/details/7381978 ![](https://box.kancloud.cn/1bf14a61b788d9cea9d04e11259dd56e_991x452.png) ![](https://box.kancloud.cn/367958ed2be49d7343eed5c76cc23430_584x288.png) ![](https://box.kancloud.cn/68a5bbfe6b6cf417d327f6c66bbc6fc3_760x323.png) <br/><br/> ###1001.首先创建一个名为 fankey_ext的扩展 运行如下命令 : <br/> `./ext_skel --extname=fankey_ext` <br/><br/> PHP官方 ext_skel 解释参考: http://php.net/manual/zh/internals2.buildsys.skeleton.php <br/><br/> 得到下图结果 : <span style='color:green;'> (成功后会在扩展目录ext下生成一个 fankey_ext 的目录 )</span> <br/><br/> ![](https://box.kancloud.cn/47b9b4fcab64ed45c5e1b3f43cee99db_704x439.png) ![](https://box.kancloud.cn/285af59fc6eea88cbaa925419b692271_561x233.png) ![](https://box.kancloud.cn/df6efc935cb03d65ccc23d61e3d7f8fc_721x294.png) <br/><br/> ###1002.修改扩展的配置文件 config.m4 <br/> PHP官方 config.m4 解释参考: http://php.net/manual/zh/internals2.buildsys.configunix.php <br/><br/> 修改前: ![](https://box.kancloud.cn/8cface9bb1c628212ffc8818c2e343c4_740x299.png) 修改后: ![](https://box.kancloud.cn/40ce5a8e603eafa51235c2da0d45f905_654x284.png) <br/><br/> ###1003.修改扩展核心源码C语言文件 fankey_ext.c 实现我们想要的功能 <br/><br/> fankey_ext.c 下新增一个自定义函数 fankey_hello(); ![](https://box.kancloud.cn/42b03acaaae8004787913ece93a15372_762x302.png) fankey_ext.c文件最底部新增函数的实现 ![](https://box.kancloud.cn/75a64aefdb81f9b49c21176cc33f435c_664x303.png) <br/><br/> ###1004.修改扩展核心源码头文件 php_fankey_ext.h ,在文件中新增函数fankey_hello的声明 ![](https://box.kancloud.cn/26ca50b53180fc800f3f080b435677fe_515x203.png) <br/><br/> ###1005.编译安装自定义的 fankey_ext 扩展 <br/> 第一步:执行 `phpize` ![](https://box.kancloud.cn/276114cf95b470b1a5414a946e2a9ee1_770x370.png) ![](https://box.kancloud.cn/45e8b78250ff1d0832f6c771ad2bee20_851x254.png) <br/> 第二步:执行 `./configure --with-php-config=/usr/local/php/bin/php-config` ![](https://box.kancloud.cn/4fa2230a51adbb1ea72340fa1d430208_984x274.png) <br/> 第三步 : 执行 `make && make install` ![](https://box.kancloud.cn/d33d61a51afb9ff577bf284db5577dd0_1041x285.png) <br/> 第四步:将扩展写入到 php.ini文件中 ![](https://box.kancloud.cn/f7df2831c9b80e96428466bdf444f70c_583x249.png) 第五步 : 重启php => `service php-fpm restart` ![](https://box.kancloud.cn/c86adf5d4862489dbc7529e454b6cb70_606x78.png) 然后在php脚本文件中测试我们的扩展 ![](https://box.kancloud.cn/295c674b7b3694900569e4487290b032_863x347.png) <br/><br/> ![](https://box.kancloud.cn/4625a6cdcc5156d6b26c71f1d4ce8954_601x171.png) <br/><br/> 示例代码: ![](https://box.kancloud.cn/9f7edd1560876989bc0146e2d8eae857_418x114.png) <br/><br/> 运行效果: ![](https://box.kancloud.cn/7f799a1d68867a36e22239c10299e06a_598x107.png) <br/> <br/> 源码打包下载地址 : http://test.blog365.cn/ext/fankey_ext.zip <br/> <br/> <br/> (结束)