Ubuntu下编译实现PHP的c扩展

前端之家收集整理的这篇文章主要介绍了Ubuntu下编译实现PHP的c扩展前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

转自:http://www.jb51.cc/article/p-yqwtyycd-op.html

Ubuntu版本:14.04

1. 下载PHP-5.5.10.tar.bz2,并解压。

wget http://cn2.PHP.net/distributions/PHP-5.6.0.tar.xz
wget http://cn2.PHP.net/distributions/PHP-5.5.10.tar.xz

2. 终端进入解压后的目录PHP-5.5.10,运行configure。(输入命令./configure)

3. 依次输入命令make/make install。成功安装PHP后继续往下执行(输入"PHP -v"命令可判断是否成功安装了PHP)。

4. 进入ext目录,输入命令:./ext_skel --extname=myextension。(myextension为扩展模块的名字)。命令执行成功后,会生成一个myextension目录。

5. 进入myextension目录,编辑config.m4文件
取消“PHP_ARG_ENABLE(hello,whether to enable hello support,”和“[ --enable-hello Enable hello support])”这两行的注释。(去掉这两行前的“dnl”即可)
如果扩展函数需要调用到动态连接库文件,如:调用/usr/local/lib目录下的libtest.dll。那么在config.m4的“PHP_NEW_EXTENSION(.....)”这一行上添加以下几行:

  1. PHP_ADD_LIBRARY_WITH_PATH(test,/usr/local/lib,MYEXTENSION_SHARED_LIBADD)
  2. PHP_ADD_INCLUDE(/usr/local/lib)
  3. PHP_SUBST(MYEXTENSION_SHARED_LIBADD)
本示例中为了方便,不添加动态链接库。

6. 执行PHPize。如果提示PHPize command not found”,说明PHP5-dev没有安装(安装:apt-get install PHP5-dev)。

7. 编辑PHP_myextension.h文件(红色方框部分为所添加内容)。

8. 编辑myextension.c文件(红色方框部分为所添加内容)。

9. 输入命令:./configure。(注意:是在目录myextension下)

10. 依次输入命令make/make install。命令执行成功后,在myextension/modules目录下生成了myextension.so动态连接库。

11. 拷贝myextension.so文件到/usr/lib/PHP5/modules目录下。(没有该目录就新建)

12. 编辑PHP.ini。(如果未安装apache2,那么该文件在/etc/PHP5/cli/目录下,如果安装了,则还会有一个PHP.ini文件在/etc/PHP5/apache2/目录)如果有两个PHP.ini,则尽量保证这两个文件一致。
添加两行:
extension_dir = /usr/lib/PHP5/modules/
extension = myextension.so
13. 输入命令:PHP -r "echo myaddfunc(1,2);" 。如果终端打印出3则PHP扩展成功。


源码例子下载:

点击图片右键另存为zip

原文链接:https://www.f2er.com/ubuntu/352785.html

猜你在找的Ubuntu相关文章