Ubuntu下PHP的扩展

时间:2021-06-06 06:30:18

Ubuntu版本:14.04

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

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(.....)”这一行上添加以下几行:

PHP_ADD_LIBRARY_WITH_PATH(test, /usr/local/lib, MYEXTENSION_SHARED_LIBADD)  
PHP_ADD_INCLUDE(/usr/local/lib)
PHP_SUBST(MYEXTENSION_SHARED_LIBADD)

 

    本示例中为了方便,不添加动态链接库。

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

7. 编辑php_myextension.h文件(红色方框部分为所添加的内容)。
     Ubuntu下PHP的扩展

 

8. 编辑myextension.c文件(红色方框部分为所添加的内容)。
    Ubuntu下PHP的扩展
    Ubuntu下PHP的扩展

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扩展成功。