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

  • 相关阅读:
    DataAnnotations
    使用BizTalk实现RosettaNet B2B So Easy
    biztalk rosettanet 自定义 pip code
    Debatching(Splitting) XML Message in Orchestration using DefaultPipeline
    Modifying namespace in XML document programmatically
    IIS各个版本中你需要知道的那些事儿
    关于IHttpModule的相关知识总结
    开发设计的一些思想总结
    《ASP.NET SignalR系列》第五课 在MVC中使用SignalR
    《ASP.NET SignalR系列》第四课 SignalR自托管(不用IIS)
  • 原文地址:https://www.cnblogs.com/mokliu/p/5683630.html
Copyright © 2011-2022 走看看