php添加模块

服务器运行一段时间后,可能突然会需求添加某个扩展,如curlpdoxmlrpc等,这就需要在不重新编译PHP的情况下独立添加扩展。

    下面以安装curl为例,介绍具体安装步骤。

1.  安装crul wget http://curl.haxx.se/download/curl-7.19.6.tar.gz

tar -zxvf curl-7.19.6.tar.gz

cd curl-7.19.6

./configure --prefix=/usr/local/curl

    make

    make install

    2.编译生成扩展进入php源程序目录中的ext目录中,这里存放着各个扩展模块的源代码,选择你需要的模块,比如curl模块:

    cd /usr/webserver-soft/php-5.2.14/ext/curl/

    执行phpize生成编译文件,phpizePHP安装目录的bin目录下

    /usr/local/php5/bin/phpize

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

    make

    make install

这样,curl.so就被复制到PHP对应目录(如:/usr/local/php5/lib/php/extensions/no-debug-non-zts-20090626/

    3.修改配置在php.ini里,设置扩展目录:

extension_dir = "/usr/local/php5/lib/php/extensions/no-debug-non-zts-20090626/"

    并添加扩展模块引用:

    extension = curl.so

    4.检查并重启Apache

    /usr/local/php/bin/php -v

执行这个命令时,php会去检查配置文件是否正确,如果有配置错误,这里会报错,可以根据错误信息去排查

4.检查php已加载的模块

    /usr/local/php/bin/php –m

    执行这个命令时,php会显示出目前已加载的模块,当发现需要的模块未加载,可在extension_dir中查找,如果在此目录中有需要的模块生成即修改php.ini添加即可;如果没有找到需要的模块生成则使用phpize到源码ext的相应目录中重新配置,并修改php.ini