php 学习编译扩展
系统环境 : 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 语句.