2019独角兽企业重金招聘Python工程师标准>>>
先叨叨点基本知识:
一个http请求,首先来到服务器的时候 nginx 监听的80端口会接收到这个请求,然后发给对应的 cgi程序进行处理,此处就是php-fpm进程。
问题情景:公司买了个方维o2o商城只能支持php5.3,此时开发自己应用的时候,已经centos6.5和php7了。
解决方法:yum install php php-fpm 默认就安装了5.3了
然后找一下php-fpm.conf 打开 找到 监听项 发现 /etc/php-fpm.d/*.conf 所以 去/etc/php-fpm.d/这里找 www.conf 打开发现listen = 127.0.0.1:9000 这个就是监听项了,把它改成listen = 127.0.0.1:9001。
接下来去对应的nginx的conf中配置对应文件,我的配置如下:
server {
listen 80;
server_name www.a.com;
index index.php;
root /home/www/test;
location / {
index index.php;
if ( !-e $request_filename){
rewrite ^/(.*)$ /index.php?s=$1 last;
break;
}
}
location ~ .*\.(php|php5)?$
{
try_files $uri =404;
fastcgi_pass 127.0.0.1:9001;
fastcgi_index index.php;
include fcgi.conf;
}
access_log /home/wwwlogs/www.a.com.log post_access;
if ( $fastcgi_script_name ~ \..*\/.*php )
{
return 403;
}
location ~ (.*\.sh?$|/\.)
{
return 403;
}
}
保存之后 重启nginx然后再启动php-fpm 两个版本的都要启动。这就搞定了。分别去试试phpinfo,两个不同的版本就显示出来了。