php取得成功的一个主要原因之一是它拥有大量的可用扩展,web开发者无论有何种需求,这种需求最有可能在php发行包里找到
php发行包包括支持各种数据库,图形文件格式,压缩,XML技术扩展在内的许多扩展,PHP扩展(PECL)跟php引擎一样都是使用c语言开发
php扩展开发需要注意什么?
1、开发扩展比使用PHP开发相同功能成本与难度都要更高
2、后期维护不易
3、系统及PHP版本更新导致的一些兼容性问题
4、测试服务器和正式服务器的系统版本、php版本、gcc版本、glibc版本都要保持一致
什么时候需要开发php扩展?
1、对效率要求很高,特别是运算效率
2、功能与业务无关或关联很小,相对抽象
3、功能基本不会变动,且不会很复杂
4、功能使用php无法实现的或者资源无法访问
系统环境:
CentOS release 6.6 (Final) 64位
gcc version 4.4.7, Glibc 2.12
PHP 5.3.3 (cli)
php c扩展开发步骤:这里简单以实现两数相乘并返回结果为例
第一步,生成代码
php为了扩展开发的方便,提供了一个类似代码生成器的工具ext_skel,--extname=test中的test是自定义的函数名称
下载和系统php版本一致的源码包,我默认yum安装,php版本是5.3.3,所以下载php-5.3.3.tar.gz