1.参考网址
主要参考网址:http://laiguowei2004.blog.163.com/blog/static/368290002011101612225960/
编译参数参考地址:https://segmentfault.com/a/1190000002717262
2.安装目录结构
3.准备工作
下载php需要的扩展库,下面是下载的扩展库:
4.扩展库安装(必须)
安装 libxml2
tar -xvf libxml2-2.9.4.tar.gz
mkdir libxml2
cd libxml2-2.9.4
./configure --prefix=/data/soft/php/libxml2
make
make install
错误提示:
fatal error: Python.h: No such file or directory
#include <Python.h>
解决方案:
yum install python-devel.x86_64
5.安装PHP
tar -xvf php-5.6.30.tar.gz
mkdir php5.6
cd php-5.6.30
./configure --prefix=/data/soft/php/php5.6
make
make install
可能出现错误:(没有xml2的配置)
configure: error: xml2-config not found. Please check your libxml2 installation.
解决方案
在安装PHP之前安装libxml2扩展
- 先执行--步骤4
- 再执行步骤5
./configure --prefix=/data/soft/php/php5.6 -enable-fpm --with-config-file-path=/data/conf/php --with-libxml-dir=/data/soft/php/libxml2/
参数说明
--with-config-file-path #php.ini文件位置
--with-libxml-dir #启用libxml2并指定其安装目录
6.配置php-fpm
-
配置代码
cd /data/soft/php/php5.6/etc cp php-fpm.conf.default php-fpm.conf vi php-fpm.conf
-
编辑php-fpm.conf
[global] pid = run/php-fpm.pid error_log = log/php-fpm.log log_level = notice [www] pm = dynamic pm.max_children = 50 pm.start_servers = 20 pm.min_spare_servers = 5 pm.max_spare_servers = 35 #将以上语句前面的注释符去掉即可。
-
启动 php
cd /data/soft/php/php5.6/sbin ./php-fpm ps -ef | grep php-fpm
7.PHP整合php-fpm
-
修改 nginx 的 nginx.conf
cd /data/soft/nginx/nginx/conf/ vi nginx.conf
将server段关于php部分前面的注视符号#全部去掉,如下:
-
修改 nginx 的 fastcgi_params
vi fastcgi_params
在这一段
```
fastcgi_param QUERY_STRING $query_string;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;
```
下面加入
```
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
```
-
测试
cd /data/soft/nginx/nginx/html/ vi info.php
编辑如下内容:
<?php phpinfo(); ?>
-
重启nginx
service nginx restart
在浏览器中查看http://ip(你的VPS商分配给你的IP地址)/info.php,看到phpinfo的信息说明
出现如下错误:执行第8步骤
8.配置 PHP 配置文件 php.ini
找到php.ini文件目录此处(安装php配置php.ini的路径)
cd /data/soft/php/php-5.6.30/
复制一份php.ini -production到/data/conf/php/命名为php.ini
cp php.ini-development /data/conf/php/php.ini
执行下面
cd /data/conf/php
vi php.ini
找到date.timezone,去掉前面的逗号(;)修改为 date.timezone = Asia/Chongqing,后保存。:执行第9步骤
9.php-fpm启动脚本
将源码下的脚本复制到一下目录或参考<a href="http://blog.csdn.net/sinat_22878395/article/details/60145156" target="_blank">《php-fpm启动脚本.txt》</a>
cp /data/soft/php/php-5.6.30/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
cd /etc/init.d/
chmod a+x php-fpm
chkconfig --add php-fpm
/sbin/chkconfig php-fpm on
代码管理脚本如下:
service php-fpm start
service php-fpm stop
service php-fpm restart
service php-fpm reload
/etc/init.d/php-fpm start
/etc/init.d/php-fpm stop
/etc/init.d/php-fpm restart
/etc/init.d/php-fpm reload
10.步骤7出现的文题解决
-
进入sbin加入php.ini文件启动
cd /data/soft/php/php5.6/sbin ./php-fpm -c /data/conf/php/php.ini
结果:Info.php报错问题解决
-
php-fpm启动脚本启动又出现Info.php报错问题
vi /etc/init.d/php-fpm
加入如下代码
php_config=/data/conf/php/php.ini php_opts="-c $php_config --fpm-config $php_fpm_CONF --pid $php_fpm_PID"
执行 /sbin/chkconfig php-fpm on
再次关闭启动:
结果:Info.php报错问题解决
本人本篇的研究笔记资料:链接:http://pan.baidu.com/s/1slvZGHv 密码:1c80