手机版

讨论如何在:中编写PHP扩展

时间:2021-11-19 来源:互联网 编辑:宝哥软件园 浏览:

用C/C扩展PHP的优缺点:优点:效率,或者说效率降低了PHP脚本的复杂度。极端的情况下,只需要在PHP脚本中简单的调用一个扩展函数,然后你所有的函数都会被扩展实现。缺点也很明显:开发复杂的可维护性减少了开发周期,这是最简单的例子。当你使用PHP脚本时,如果你发现某个判断条件是错误的,你。而且如果是在C/C编写的PHP扩展中,可能需要修改源代码,重新编译,然后加载到PHP中,然后重启Apache得到结果。如果你熟悉C语言,写一个PHP扩展并不是很难。PHP本身提供了一个框架来简化您的开发。开始开发PHP扩展最简单的方法是使用PHP提供的扩展框架向导ext_skel,它将生成PHP扩展所需的最基本的代码。要使用它,首先要下载PHP的源代码或者开发一个包,然后进入PHP源代码的ext目录,就会找到这个工具。生成扩展名:/ext _ skel-extname=myext输入/myext,选择分机类型:viconfig.m4,只需从以下两种类型中选择一种:复制的代码如下://(取决于外部库)dnl PHP_ARG_WITH(myext,对于myext支持,dnl确保注释对齐: dnl[-WITH-myext include myext support])//remove dnlPHP _ ARG _ WITH(myext,对于myext支持,确保注释对齐:[-WITH-myext include myext support])///或/(独立于外部库)dnl PHP_ARG_ENABLE/*测试时,请稍后移除。*///修改为PHP _ FUNCTION(myext);/*测试时,请稍后移除。*/modify myext . c://will//Zend _ function _ entry myext _ functions[]={//PHP _ Fe(confirm _ myext _ compiled,null)/*用于测试,稍后删除。*///{NULL,NULL,NULL} /*必须是myext _ functions[]*////}中的最后一行;//被修改为Zend _ function _ entry myext _ functions[]={ PHP _ Fe(myext,null)/*进行测试,稍后删除。*/{null,null,null}/*必须是myext _ functions [] */}中的最后一行;//添加自己的函数PHP _ function(myext){ Zend _ printf(' hello world!\ n ');}安装您的php扩展myext:/usr/local/PHP/bin/phpize。/config-with-PHP-config=/usr/local/PHP/bin/PHP-config make install modify PHP . ini,add: extension='myext.so '重新启动web服务器,检查phpinfo,就可以看到了。

测试新的php文件:phpmyext();当您执行这个文件时,您可以看到熟悉的“Hello World!”。

版权声明:讨论如何在:中编写PHP扩展是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。