北京治白癜风的医院哪家最好 https://wapjbk.39.net/yiyuanzaixian/bjzkbdfyy/(题图是编号为AR的太阳黑子,由Alexhy摄于年9月5日,上海)说在前面谁适合看本文?
如果你已经写了一两年的PHP代码,想深入了解PHP。可以通过本文,学习下PHP的扩展机制。
PHP扩展能干啥?
1、对于性能要求比较高的代码,可以使用扩展实现。PHP扩展使用C语言或者C++语言编写,性能比纯PHP代码要好。2、纯PHP代码无法实现的功能,可以通过PHP扩展实现。如,需要调用第三方lib库。比如,我的tclip扩展,就需要调用opencv的人脸识别库。
本文是以PHP7作为基础,讲解如何从零开始创建一个PHP扩展。本文主要讲解创建一个扩展的基本步骤都有哪些。示例中,我们将实现如下功能:
?phpechosay();?
输出内容:
12$php./test.php$helloword
在扩展中实现一个say方法,调用say方法后,输出helloword。
第一步:生成代码
PHP为我们提供了生成基本代码的工具ext_skel。这个工具在PHP源代码的./ext目录下。
12$cdphp_src/ext/$./ext_skel--extname=say
extname参数的值就是扩展名称。执行ext_skel命令后,这样在当前目录下会生成一个与扩展名一样的目录。
第二步,修改config.m4配置文件
config.m4的作用就是配合phpize工具生成configure文件。configure文件是用于环境检测的。检测扩展编译运行所需的环境是否满足。现在我们开始修改config.m4文件。
12$cd./say$vim./config.m4
打开,config.m4文件后,你会发现这样一段文字。
4567891011dnlIfyourextensionreferencessomethingexternal,usewith

nlPHP_ARG_WITH(say,forsaysupport,dnlMakesurethatthe