centos的PHP编译安装模块的基本步骤

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

 

下面以安装curl为例,介绍具体安装步骤。(以下的安装,是基于php源码包安装的,且安装路径是在/usr/local/php,Apache源码编译安装)

 

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.编译生成扩展(也就是生成so文件):进入php源程序目录(非安装目录)中的ext目录中,这里存放着各个扩展模块的源代码,选择你需要的模块,比如curl模块:

 

cd curl

 

执行phpize生成编译文件,phpize在PHP安装目录的bin目录下(具体可使用 whereis phpize 这个命令来查看)

 

/usr/local/php5/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)、apt-get install autoconf(Ubuntu Linux)

 

生成配置文件,并编译生成模块:

 

/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对应目录,该目录可通过phpinfo中的extension_dir来查看(如:/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会去检查配置文件是否正确,如果有配置错误,这里会报错,可以根据错误信息去排查。

 

总结:php不重新编译的情况下安装扩展模块的步骤可分为3步

           第一步:安装该扩展模块需要的服务,例如上面的curl,必须先安装了curl服务才行,也就是说该步骤不是必须的,需要看情况

 

           第二步:安装扩展模块,也就是将编译安装好的so文件放到php对应的模块so文件目录中,无论你的php是源码安装还是yum安装的,都有对应的专门存放php扩展模块so文件的目录,可通过phpinfo()来查看,其中,编译安装php的这些模块的一般步骤是进入php源码包中的ext目录相应的扩展文件目录中,然后使用php的phpize和php-config这2个执行文件命令来编译安装

 

           第三部:在配置文件中加载该模块,这个配置文件加载跟httpd服务的类型有关系,例如Apache和nginx的操作就不同了,具体看情况

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值