编译安装php5.3.8(含php-fpm)

#wget http://cn2.php.net/get/php-5.3.8.tar.gz/from/cn.php.net/mirror
#tar -zxvf php-5.3.8.tar.gz
#cd php-5.3.8
#./configure --prefix=/usr/local/php --enable-fpm --with-libevent-dir=/usr --with-mcrypt=/usr/local/libmcrypt --with-zlib --enable-mbstring --with-openssl --with-mysql --with-mysqli --with-mysql-sock --with-gd --with-jpeg-dir=/usr/lib --enable-gd-native-ttf --without-sqlite --enable-pdo --with-pdo-mysql --with-gettext --with-curl --with-pdo-mysql --enable-sockets --enable-bcmath --enable-xml --with-bz2 --with-gettext --with-snmp --enable-zip --with-snmp

我在64位centos上编译的时候报错:configure: error: mysql configure failed. Please check config.log

后来经过搜索得到以下解决方法:

找到/usr/lib64/libltdl.so.3.1.4,在该目录下执行以下命令:

  ln -sv libltdl.so.3.1.4 libltdl.so

最终将出现如下内容,
+--------------------------------------------------------------------+
| License: |
| This software is subject to the PHP License, available in this |
| distribution in the file LICENSE. By continuing this installation |
| process, you are bound by the terms of this license agreement. |
| If you do not agree with the terms of this license, you must abort |
| the installation process at this point. |
+--------------------------------------------------------------------+
Thank you for using PHP.

安装
#make
#make install
移动php.ini
#cp /usr/local/php-5.3.8/php.ini-development /usr/local/php/lib/php.ini

关于php-fpm
php5.3.8默认包含php-fpm,

php-fpm的配置文件php-fpm.conf在/usr/local/php/etc <========当然要看你装php到了那里
php-fpm.conf的文件名这里为php-fpm.conf.default
#cp php-fpm.conf.default php-fpm.conf <========复制一份并重命名

php-fpm在/usr/local/php/sbin/下
#/usr/local/php/sbin/php-fpm ========启动php-fpm
启动错误解决:
ALERT: [pool www] pm.min_spare_servers(0) must be a positive value
编辑php-fpm.conf找到pm.min_spare_servers 去除;号,注意非注释内容pm.min_spare_servers
ALERT: [pool www] pm.max_spare_servers(0) must be a positive value
编辑php-fpm.conf找到pm.max_spare_servers 去除;号,同样非注释内容pm.max_spare_servers
WARNING: [pool www] pm.start_servers is not set. It's been set to 20.
编辑php-fpm.conf找到pm.start_servers 去除;号,同样非注释内容pm.start_servers
ERROR: bind() for address '127.0.0.1:9000' failed: Address already in use (98)
# netstat -ntlpps -ef|grep php查看进程,有N多进程
nobody 26152 26151 0 15:45 ? 00:00:00 php-fpm: pool www
nobody 26153 26151 0 15:45 ? 00:00:00 php-fpm: pool www
nobody 26154 26151 0 15:45 ? 00:00:00 php-fpm: pool www
nobody 26155 26151 0 15:45 ? 00:00:00 php-fpm: pool www
...........................
#killall php-fpm 结束所有php-fpm进程
再启动php-fpm
#/usr/local/php/sbin/php-fpm
成功

 

修改来源: http://www.linuxdiyf.com/viewarticle.php?id=217611

posted on 2012-01-07 21:54  房客  阅读(4163)  评论(1编辑  收藏

导航