所在的位置: php >> php市场 >> PHP扩展开发初探

PHP扩展开发初探

北京中西手足癣医院 http://m.39.net/baidianfeng/a_8833423.html

什么是PHP扩展

通俗说,PHP扩展是增强PHP语言功能的插件。PHP提供了编程语言的语法,比如分支、循环、函数、类等,这些是PHP本身所提供的。在某些情况下需要在PHP语言的基础上进行扩展,那么就需要通过PHP底层提供的数据结构和接口来开发PHP扩展,从而来补充或扩展PHP语言,使之更加的强大。当然了,PHP本身就已经集成了一些基本的、强大的、优秀的PHP扩展。

PHP扩展的好处

从上面的了解得知,PHP扩展可以在PHP原有的基础上来扩展PHP的功能,使之更为的强大。另一方面,PHP扩展可以通过“插件式”的方式来管理和维护PHP的功能,如果将全部的功能整合到PHP语言中,PHP想必会过于臃肿,且又不够灵活。而有了扩展,就解决了这样的问题。

PHP扩展的存在形式

在Linux系统下,PHP扩展以.so文件存在,在Windows下以.dll文件存在。

什么时候使用PHP扩展

单独的使用PHP语言并不能满足所有的开发,比如在项目中使用Redis或MongoDB时,就需要相应的PHP扩展,来增强PHP语言,让PHP可以来操作Redis或者MongoDB,以完成更加功能强大的项目。

什么时候开发自己的PHP扩展

开发自己的PHP扩展是必须的么?其实不是。通常情况下,作为一个PHPer是不需要自己开发PHP扩展的,但是某些情况下可能是必须要开发PHP扩展的。比如,我就遇到了这样的问题。合作的第三方提供了Windows下的动态链接库文件(.dll文件,非COM的DLL文件),而我又没有找到如何在PHP下加载调用DLL文件的方式,因此我需要写PHP扩展,通过PHP的扩展来加载和调用第三方提供的DLL文件。

开发自己的PHP扩展

在前面我已经提到了我遇到的问题,合作的第三方提供了Windows下的动态链接库文件,而我又没有找到PHP下加载和调用DLL文件的方式,因此决定自己编写PHP扩展来加载和调用第三方提供的DLL文件中的导出函数。以下,就是我对于搭建开发PHP扩展环境和编译PHP扩展源码的记录。

准备工具

首先说明一点,DLL文件只能在Windows系统上运行,Linux系统上是无法进行运行的。那么,我们这个扩展是不考虑Linux系统的,只考虑Windows系统即可。因此,准备的开发工具是VS。起初,我在网上查找了一些资料,很多资料中都写到,在Windows下开发PHP扩展需要安装CygWin,经过我自己的学习,可以告诉大家“不需要”。当然了,我们的扩展只在Windows系统上运行,如果需要在Linux系统上运行,是否需要Cygwin我就不得而知了。当然了,其他版本的VS也应该是可以的,只是我只测试了VS罢了。

下载PHP的源代码

除了需要安装VS以外,还需要下载PHP的源码,我下载的源码是PHP7.2的源码。

下载PHP源码的地址是:


转载请注明:http://www.aierlanlan.com/rzdk/3056.html