php 学习编译扩展

Posted GoodByeZ

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php 学习编译扩展相关的知识,希望对你有一定的参考价值。

 

原文 : http://kimi.it/496.html

 

系统环境 : Ubuntu 

 

目标 : 可以像 php 提供的内部函数一样,使用 myecho 函数 :

输出如下 :

 

1. 获取 php 的源码 : http://php.net/downloads.php  ,  选择一个适合的版本 ,比如 : php-7.0.2.tar.gz.

2.  解压 : tar xvf php-7.0.2.tar.gz -C install-dir 

3.  切换到 install-dir / ext 目录下,新建文件 myphpext.skel ,编辑内容如下,保存退出:

 

4. install-dir / ext 目录下,执行:

 

5. 切换到 install-dir / ext / myphpext 目录下 ,编辑 config.m4 文件,搜索 PHP_ ARG_WITH :

原来的内容:

修改后:

 

6.  install-dir / ext / myphpext 目录下,编辑 php_myphpext.php ,增加 PHP_FUNCTION(myecho)  :

6. 编辑 myphpext.c 文件,修改 PHP_FUNCTION(myecho) 的内容为如下:

7.  install-dir / ext / myphpext 目录下,运行 phpize , 生成 configure 等相关的配置文件:

8. install-dir / ext / myphpext 目录下,运行 ./configure  --with-php-config=/usr/bin/php-config  ,生成 MakeFILE 等文件 :

9 .install-dir / ext / myphpext 目录下 , 运行 make,进入编译阶段 :

10. 如果没出错的话,在 install-dir / ext / myphpext / modules 目录下,生成了 myphpext.so 文件.

11. 本机的 php 的 extension_dir 和 php.ini 的目录如下:

 

 拷贝 myphpext.so 文件到 /user / lib / php / 20151012 目录下,编辑 php.ini 文件, 加入 extension=myphpext.so  语句.

 

以上是关于php 学习编译扩展的主要内容,如果未能解决你的问题,请参考以下文章

Linux学习总结(三十八)lamp之php扩展模块安装

PHP的zlib压缩工具扩展包学习

PHP的rar解压读取扩展包学习

PHP的rar解压读取扩展包学习

一起学习PHP中的Tidy扩展库

PHP的zlib压缩工具扩展包学习