以源码编译的方式安装PHP与php-fpm
2013-10-05 00:00
766 查看
前面介绍的是以 remi 源安装,它会自动安装最新的 PHP 以及它的一些扩展。但是有时候我们需要一些低版本的 PHP,比如 PHP 5.3.x 之类的。这里可以使用源码编译的方式安装。
首先是最基本的下载,解压,编译安装(以PHP 5.3.6 为例):
如果提示:configure error xml2-config not found. please check your libxml2 installation
检查是否安装了libxml包:
重新安装libxml2和libxml2-devel包, yum安装的时候发现新版本会提示更新,需要更新的可以更新,不要跳过就行了。
OK,PHP这样就安装成功了,接下来是配置 php-fpm。
报错了。
编辑php-fpm.conf
找到pid = run/php-fpm.pid把前面的注释符号删掉。
下面启动php-fpm并重启nginx
再次编辑php-fpm.conf找到pm.min_spare_server ;pm.min_spare_servers = 5 去除;号。
执行以下命令,并再次启动 php-fpm
还是报错,但是报错信息不一样了。
继续:
OK,现在就是解决端口问题就行了。
原来是 php-fpm 占用了。kill掉就行。
php-fpm 启动成功。
首先是最基本的下载,解压,编译安装(以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 启动成功。
相关文章推荐
- PHP页面静态化学习笔记之五:简易新闻系统v1.1
- PHP页面静态化学习笔记之四:简易新闻系统v1.0
- PHP页面静态化学习笔记之三:使用PHP缓存机制完成静态化
- PHP页面静态化学习笔记之二:页面静态化
- PHP页面静态化学习笔记之一:网址分类
- ASA对FTP的审查抓包测试
- ASA对FTP的审查抓包测试
- ThinkPHP -- 基础入门
- simpletest:一个简单的PHP试工具
- PHP_保留两位小数并且四舍五入_保留两位小数并且不四舍五入
- ContentProvider与ContentResolver使用【转】
- Drupal配置文件settings.php搜索规则
- 【PHP判断今天是星期几的方法】
- 教你优化php代码 让速度提升5倍以上
- 【PHP优化压缩的图片】
- PHP 常见header 状态
- ftp_socket模型
- 大家帮我看看这个php语句有什么问题
- php 批量替换程序的具体实现代码
- 《Zend Framework 2 程序员参考指南》 一、概述 Overview