当前位置 主页 > 服务器问题 > Linux/apache问题 >

    Linux下为PHP添加扩展库的方法

    栏目:Linux/apache问题 时间:2018-12-14 13:45

    我刚刚开始学习lnmp环境,对php编译的参数基本上都不知道,在网上看了很多教程,看到在编译PhP的时候都还了很多参数,也在网上查了这些参数是什么意思,但是却不知道,哪些参数必须要加上,哪些参数不需要加

    加上会出什么问题,不加会报什么错;所以在编译PHP的时候除了必要的目录指定,好多参数都没有加……等我在安装web程序的时候,才发现,很多参数是要加上的,但是我lnmp已经搭建好了,也不想重新编译,重新安装。。于是就在网上找到了此文

    一、添加FTP扩展

    1、找到原来的源码包解压一下
    如:php-5.2.13
    进入到到FTP的扩展目录/root/lnmp/php-5.3.0/ext/ftp

    2、调用phpize程序生成编译配置文件
    复制代码 代码如下:
    root@dns ftp]# /usr/local/php5/bin/phpize
    Configuring for:
    PHP Api Version: 20041225
    Zend Module Api No: 20060613
    Zend Extension Api No: 220060519

    3. 编译扩展库,分别执行下面的configure和make命令。

    #./configure --with-php-config=/usr/local/php5/bin/php-config

    #configure这一步执行通过后,再执行make命令,如果configure执行不通过,则查找错误原因。

    #make

    #make成功执行后,生成的扩展库文件在当前目录的 modules 子目录下,
    复制代码 代码如下:
    [root@Ansen ftp]# ls modules/
    ftp.la ftp.so

    4、编辑php.ini文档,创建extension_dir的目录,将编译好的扩展文件复制到extension下面

    将extension_dir = "./" 改成
    复制代码 代码如下:
    extension_dir = "/usr/local/php5/lib/php/extension"

    复制代码 代码如下:
    [root@Ansen modules]#cp ftp.so /usr/local/php5/lib/php/extension

    5、在php.ini的添加扩展库位置,设置要添加的扩展库。
    在989处添加 extension=ftp.so

    6、重启一下apache 就可以得到ftp的支持了

    二、添加zlib扩展

    复制代码 代码如下:
    [root@Ansen zlib]# pwd
    /root/lnmp/php-5.3.0/ext/zlib
    [root@Ansen zlib]#mv config0.m4 config.m4
    [root@Ansen zlib]#/usr/local/php5/bin/phpize
    [root@Ansen zlib]#./configure --with-php-config=/usr/local/php5/bin/php-config
    [root@Ansen zlib]#make
    [root@Ansen zlib]# cp modules/zlib.so /usr/local/php5/lib/php/extension/
    [root@Ansen zlib]#vi /usr/local/php5/lib/php.ini
    添加extension=zlib.so

    8、重启apache就可以了

    PS:其它扩展可以参考上面两种扩展的方法进行安装

    补充简洁版:

    一开始编译php的时候,忘了,现在用phpize安装扩展库进行添加
    找到当前运行的php版本的源代码目录,如 php-5.2.12。进入curl扩展库目录
    #cd /home/changyou/php-5.2.12/ext/curl
    (调用phpize程序生成编译配置文件)
    #/usr/local/web/php/bin/phpize
    (编译扩展库,分别执行下面的configure和make命令)
    #./configure –with-php-config=/usr/local/web/php/bin/php-config
    (configure这一步执行通过后,再执行make命令,如果configure执行不通过,则查找错误原因)
    #make
    make成功执行后,生成的扩展库文件在当前目录的 modules 子目录下
    如我这里的目录是:/home/changyou/php-5.2.12/ext/curl/modules/curl.so
    然后配置php.ini文件,将编译好的扩展库文件复制到php的extension目录下
    #cp /home/changyou/php-5.2.12/ext/curl/modules/curl.so /usr/local/web/php/lib/php/extension/