首页 > 代码库 > php 学习编译扩展

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 学习编译扩展