怎么在Linux下编写一个PHP扩展

这篇文章主要讲解了“怎么在Linux下编写一个PHP扩展”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么在Linux下编写一个PHP扩展”吧!

创新互联-专业网站定制、快速模板网站建设、高性价比怀柔网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式怀柔网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖怀柔地区。费用合理售后完善,10年实体公司更值得信赖。

假设需求

开发一个叫做 helloWord 的扩展。

扩展里有一个函数,helloWord()。

echo helloWord('Tom');
//返回:Hello World: Tom

本地环境

PHP版本:5.6.9

系统:Linux CentOS release 6.5 (Final)

最终效果

怎么在Linux下编写一个PHP扩展

实现流程

第一步:

进入到本地的php目录执行:

cd /root/soft/src/php-5.6.9
cd ext
./ext_skel --extname=helloWord
cd helloWord
vi config.m4

搜索:dnl Otherwise use enable 将下面修改成:

PHP_ARG_ENABLE(helloWorld, whether to enable helloWorld support,
[  --enable-helloWorld           Enable helloWorld support])

if test "$PHP_HELLOWORLD" != "no"; then

...

如图:

怎么在Linux下编写一个PHP扩展

第二步:

vi php_helloWorld.h

搜索:extern zend_module_entry 新增一行:

PHP_FUNCTION(helloWorld);

如图:

怎么在Linux下编写一个PHP扩展

第三步:

vi helloWorld.c

搜索:const zend_function_entry helloWorld_functions[] 新增一行:

PHP_FE(helloWorld, NULL)

如图:

怎么在Linux下编写一个PHP扩展

在 helloWorld.c 底部新增一个方法

PHP_FUNCTION(helloWorld)
{
    char *arg = NULL;
    int arg_len, len;
    char *strg;
    if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &arg, &arg_len) == FAILURE) {
        return;
    }
    len = spprintf(&strg, 0, "Hello World: %s", arg);
    RETURN_STRINGL(strg, len, 0);
}

如图:

怎么在Linux下编写一个PHP扩展

第四步:

//编译安装
cd /root/soft/src/php-5.6.9/ext
/usr/local/php/bin/phpize #用phpize生成configure配置文件
./configure --with-php-config=/usr/local/php/bin/php-config   #配置
make  #编译
make install  #安装

第五步:

//修改php.ini
extension="helloWorld.so"   #名称为安装扩展的名称

第六步:

重启环境。

完成上面的步骤,简单的 helloWorld 扩展就OK了。

感谢各位的阅读,以上就是“怎么在Linux下编写一个PHP扩展”的内容了,经过本文的学习后,相信大家对怎么在Linux下编写一个PHP扩展这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是创新互联,小编将为大家推送更多相关知识点的文章,欢迎关注!


网站题目:怎么在Linux下编写一个PHP扩展
标题路径:http://pwwzsj.com/article/igcsdd.html