Chinaunix首页 | 论坛 | 博客
  • 博客访问: 82311
  • 博文数量: 26
  • 博客积分: 547
  • 博客等级: 中士
  • 技术积分: 243
  • 用 户 组: 普通用户
  • 注册时间: 2011-06-09 23:14
文章分类

全部博文(26)

文章存档

2012年(10)

2011年(16)

分类: 系统运维

2012-03-12 12:06:26

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


1.安装crul

  1. wget http://curl.haxx.se/download/curl-7.19.6.tar.gz  
  2. tar -zxvf curl-7.19.6.tar.gz  
  3. cd curl-7.19.6  
  4. ./configure --prefix=/usr/local/curl  
  5. make  
  6. make install 

2.Linux PHP编译生成扩展

进入Linux PHP源程序目录中的ext目录中,这里存放着各个扩展模块的源代码,选择你需要的模块,比如curl模块:cd curl执行phpize生成编译文件,phpize在PHP安装目录的bin目录下/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)

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

  1. /usr/local/php5/bin/phpize  
  2. ./configure --with-curl=/usr/local/curl --with-php-config=/usr/local/php5/bin/php-config  
  3. make  
  4. make install 

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

添加成功如图:

3.Linux PHP修改配置

在Linux PHP.ini里,设置扩展目录:extension_dir = "/usr/local/php5/lib/php/extensions/no-debug-non-zts-20090626/"并添加扩展模块引用:extension = curl.so

这里设置扩展目录也可以不用这样指定,PHP.INI默认的扩展目录是:/usr/local/php5/lib/php/extensions/,这里把curl.so给CP到这里,添加extension=curl.so就行了。

4.检查并重启Apache

/usr/local/php/bin/php -v执行这个命令时,Linux PHP会去检查配置文件是否正确,如果有配置错误,这里会报错,可以根据错误信息去排查同样的。


安装其它扩展也是按这样的步骤。


阅读(2332) | 评论(0) | 转发(0) |
0

上一篇:JS绝句

下一篇:SoapClient::SoapClient

给主人留下些什么吧!~~