zoukankan      html  css  js  c++  java
  • Ubuntu下PHP的扩展

    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文件(红色方框部分为所添加的内容)。
        

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

  • 相关阅读:
    其实 Linux IO 模型没那么难
    七年三次大重构,聊聊我的重构成长史
    听说 JVM 性能优化很难?今天我小试了一把!
    盘点三年来写过的原创文章
    如何快速实现一个连接池?
    树结构系列(四):MongoDb 使用的到底是 B 树,还是 B+ 树?
    树结构系列(三):B树、B+树
    树结构系列(二):平衡二叉树、AVL树、红黑树
    树结构系列(一):从普通树到二叉查找树
    静态代码分析工具清单
  • 原文地址:https://www.cnblogs.com/mokliu/p/5683630.html
Copyright © 2011-2022 走看看