服务器运行一段时间后可能突然会需求添加某个扩展如curlpdoxmlrpc等这就需要在不重新编译PHP的情况下独立添加扩展
下面以安装curl为例介绍具体安装步骤
安装crul wget targz tar zxvf curltargz cd curl /configure prefix=/usr/local/curl
make
make install
编译生成扩展进入php源程序目录中的ext目录中这里存放着各个扩展模块的源代码选择你需要的模块比如curl模块
cd curl
执行phpize生成编译文件phpize在PHP安装目录的bin目录下
/usr/local/php/bin/phpize
运行时可能会报错Cannot find autoconf Please check your autoconf installation and the $PHP_AUTOCONF environment variable is set correctly and then rerun this script需要安装autoconf
yum install autoconf(RedHat或者CentOS)aptget install autoconf(Ubuntu Linux)
生成配置文件并编译生成模块
/usr/local/php/bin/phpize
/configure withcurl=/usr/local/curl withphpconfig=/usr/local/php/bin/phpconfig
make
make install
这样curlso就被复制到PHP对应目录(如/usr/local/php/lib/php/extensions/nodebugnonzts/)
修改配置在phpini里设置扩展目录
extension_dir = /usr/local/php/lib/php/extensions/nodebugnonzts/
并添加扩展模块引用
extension = curlso
检查并重启Apache
/usr/local/php/bin/php v
执行这个命令时php会去检查配置文件是否正确如果有配置错误这里会报错可以根据错误信息去排查