您的位置:首页 > 编程语言 > PHP开发

以源码编译的方式安装PHP与php-fpm

2013-10-05 00:00 766 查看
前面介绍的是以 remi 源安装,它会自动安装最新的 PHP 以及它的一些扩展。但是有时候我们需要一些低版本的 PHP,比如 PHP 5.3.x 之类的。这里可以使用源码编译的方式安装。

首先是最基本的下载,解压,编译安装(以PHP 5.3.6 为例):

wget http://www.php.net/get/php-5.3.6.tar.gz/from/this/mirror tar xzvf php-5.3.6.tar.gz
cd php-5.3.6
./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --enable-fpm
make && make install
cp php.ini-production /usr/local/php/etc/php.ini

如果提示:configure error xml2-config not found. please check your libxml2 installation

检查是否安装了libxml包:

# rpm -qa |grep  libxml2
libxml2-2.6.26-2.1.12
libxml2-python-2.6.26-2.1.12

重新安装libxml2和libxml2-devel包, yum安装的时候发现新版本会提示更新,需要更新的可以更新,不要跳过就行了。

# yum install libxml2
# yum install libxml2-devel -y

OK,PHP这样就安装成功了,接下来是配置 php-fpm

[root@nowamagic ~]# /usr/local/php/sbin/php-fpm
[05-Oct-2013 12:09:26] ALERT: [pool www] pm.min_spare_servers(0) must be a positive value
[05-Oct-2013 12:09:26] ERROR: failed to post process the configuration

报错了。

编辑php-fpm.conf

cd /usr/local/php/etc/
cp php-fpm.conf.default php-fpm.conf
vim php-fpm.conf

找到pid = run/php-fpm.pid把前面的注释符号删掉。

下面启动php-fpm并重启nginx

/usr/local/php/sbin/php-fpm
service nginx restart

再次编辑php-fpm.conf找到pm.min_spare_server ;pm.min_spare_servers = 5 去除;号。

执行以下命令,并再次启动 php-fpm

[root@nowamagic ~]# sed -i 's/;pm.max_spare_servers = 35/pm.max_spare_servers = 35/g' /usr/local/php/etc/php-fpm.conf
[root@nowamagic ~]# /usr/local/php/sbin/php-fpm
[05-Oct-2013 12:13:51] WARNING: [pool www] pm.start_servers is not set. It's been set to 20.

还是报错,但是报错信息不一样了。

继续:

[root@nowamagic ~]# sed -i 's/;pm.start_servers = 20/pm.start_servers = 20/g' /usr/local/php/etc/php-fpm.conf
[root@nowamagic ~]# /usr/local/php/sbin/php-fpm
[05-Oct-2013 12:14:09] ERROR: bind() for address '127.0.0.1:9000' failed: Address already in use (98)

OK,现在就是解决端口问题就行了。

netstat -ntlp | grep 9000
tcp        0      0 127.0.0.1:9000              0.0.0.0:*                   LISTEN      14096/php-fpm

原来是 php-fpm 占用了。kill掉就行。

[root@nowamagic ~]# killall php-fpm
[root@nowamagic ~]# /usr/local/php/sbin/php-fpm

php-fpm 启动成功。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: