PHP如何扩展开发

介绍

本篇内容介绍了“PHP如何扩展开发”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

环境:PHP 5.2.14 CentOS 5.5

<强>第一步:建立扩展骨架

cd php-5.2.14/ext
。//ext_skel -extname=laiwenhui

<强>第二步:修改编译参数

cd php-5.2.14/ext/laiwenhui
vi配置。m4

去掉

PHP_ARG_ENABLE (laiwenhui,是否启用laiwenhui支持,

[——enable-laiwenhui启用laiwenhui支持])

两行前面

的黑暗与修改后为:

代码如下:


dnl否则使用启用:
PHP_ARG_ENABLE (laiwenhui,是否启用laiwenhui支持,确保
黑暗与评论对齐:
[——enable-laiwenhui启用laiwenhui支持])



<强>第三步:编写代码

vim php_laiwenhui。h

在PHP_FUNCTION (confirm_laiwenhui_compiled);后面新增一行:PHP_FUNCTION(测试);

添加后为:

PHP_FUNCTION (confirm_laiwenhui_compiled);/*用于测试,稍后删除。*/
PHP_FUNCTION(测试);

然后

vim laiwenhui。c

在PHP_FE (confirm_laiwenhui_compiled, NULL)后面添加PHP_FE(测试,NULL)

添加后为:

代码如下:


zend_function_entry laiwenhui_functions []={
PHP_FE (confirm_laiwenhui_compiled, NULL)/*测试,稍后删除。*/
PHP_FE(测试,NULL)/*测试,稍后删除。*/
{空,空,空}/*必须最后一行在laiwenhui_functions [] */
};


在文件最后面增加如下代码:

代码如下:


PHP_FUNCTION(测试)
{
char *参数=罢馕业谝淮窝由?”;
int len;
char * strg;
len=spprintf(及strg 0“% s \ n”参数);
RETURN_STRINGL (strg len 0);
}


<强>第四步:编译代码

代码如下:


cd php-5.2.6/ext/laiwenhui
/opt/模块/php/bin/phpize
。/配置-with-php-config=/opt/模块/php/bin/php-config

让安装


我的php安装路径为:/opt/模块/php
这个时候会生成一个文件/opt/模块/php/lib/php/扩展/不-调试-非zt型- 20060613/laiwenhui。所以

编辑PHP配置文件PHP。ini,添加扩展:

vim php。ini

在(PHP)模块下增加:=laiwenhui延伸。所以

;扩展=php_zip。dll
=laiwenhui延伸。所以

把php。ini文件中的extension_dir修改为该目录:
extension_dir="/usr/地方/php/lib/php/扩展/不-调试-非zt型- 20060613/?br/>
;目录的可加载的扩展(模块)。
extension_dir="/opt/模块/php/lib/php/扩展/不-调试-非zt型- 20060613/?br/>
<强>第五步:检查安装结果

1。重启apache或者php-fpm
2。/opt/模块/php/bin/php - m看下是否有包含laiwenhui扩展。
第六步:执行测试代码

在网站根目录创建测试。php

vim测试。php

代码内容如下

& lt; ?php
回波测试();
?比;

执行后结果为:这个我第一次延伸!

如果你能顺利完成以上几步,恭喜你完成了第一个扩展。

以上是扩展PHP的简单步骤,更多请参考:

PHP如何扩展开发