霜天部落 | 关注LAMP高性能、高并发架构的设计与研究

不重新编译php的情况下添加扩展模块

在实际应用中,服务器运行一段时间后,可能突然会根据需求添加某个扩展,如curl、pdo、mysqli等,这就需要在不重新编译PHP的情况下独立添加扩展。

下面我们以添加ftp模块为例子进行说明:

进入源码目录

cd php-5.2.14/ext/ftp

#运行phpize生成configure

/usr/local/php/bin/phpize

#编译,指定php-config

./configure –with-php-config=/usr/local/php/bin/php-config

#上面可以添加–enable-ftp,也可以不用添加

#编译安装

make && make install

#生成一个目录来存放扩展的模块

mkdir /usr/local/php/etc/php/ext

#复制ftp.so到模块目录

cp /usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/ftp.so /usr/local/php/etc/ext/

#编辑php.ini文件,指定PHP到哪个目录读模块

vi /usr/local/php/etc/php.ini

设置:

extension_dir=”/usr/local/php/etc/ext”

#Load模块

extension=ftp.so

#保存退出

重启apache

再用

/usr/local/php/bin/php -m |grep ftp

查看是否有ftp.so