nginx如何配置多个php版本(多版本php共同运行)?

By | 2020年5月13日

一、不管是Windows还是Linux系统,首先得下载安装不同版本的PHP(如果不太清楚怎么安装php,可以网上自行搜索方法,网上很多!)。

二、配置nginx

不同版本的php已经安装好了,比较重要的一步就是启动php(将不同版本的php PHP-FastCGI监听不同的端口,如 127.0.0.1:9000、127.0.0.1:9001 …);

windows系统可以自行创建一个bat文件实现多版本php启动:

1、启动nginx及php(以下代码请自行复制到txt文件中,并将后缀改成“bat”)

@echo off
taskkill /F /IM nginx.exe
taskkill /F /IM php-cgi.exe

set php_home7=D:\nginx\php\php-7.4.4
set php_home5=D:\nginx\php\php-5.3.9
set nginx_home=D:\nginx\nginx-1.16.1

echo Starting PHP7.4 FastCGI...
RunHiddenConsole %php_home7%/php-cgi.exe -b 127.0.0.1:9000 -c %php_home7%/php.ini
echo Starting PHP5.3 FastCGI...
RunHiddenConsole %php_home5%/php-cgi.exe -b 127.0.0.1:9001 -c %php_home5%/php.ini
echo Starting nginx...
RunHiddenConsole %nginx_home%/nginx.exe -p %nginx_home%
pause

注:需要注意的是“RunHiddenConsole”需要从网络上下载下来然后配置进系统环境,具体如何配置请自行网络搜索!

2、停止nginx及php(以下代码请自行复制到txt文件中,并将后缀改成“bat”)

@echo off
taskkill /F /IM nginx.exe
taskkill /F /IM php-cgi.exe
pause

如不想自行创建bat文件,可以通过以下链接自行下载:

链接:https://pan.baidu.com/s/1BH2kCx03Lyy_wpneSWxL2Q
提取码:5uts

liniux系统启动不同版本php方法:

1、先打开 vim /usr/local/php/etc/php-fpm.conf(路径根据实际作修改!),把listen = /dev/shm/php-cgi.sock 改为listen = 127.0.0.1:9000(端口自行设置);

2、然后打开 vim /usr/local/nginx/conf/nginx.conf 把fastcgi_pass 127.0.0.1:9000(如果nginx配置多个站点的话,大多数是把站点文件给单独写到vhost目录下了)端口更改成对应php版本设置的端口;

server {
    listen       80;
    server_name  www.dsboke.com;
    root html/laravel/public;
    location / {
        try_files $uri $uri/ /index.php?$query_string;
        index  index.html index.htm index.php;
    }
    location ~ \.php(.*)$ {
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_split_path_info  ^((?U).+\.php)(/?.+)$;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            fastcgi_param  PATH_INFO  $fastcgi_path_info;
            fastcgi_param  PATH_TRANSLATED  $document_root$fastcgi_path_info;
            include        fastcgi_params;
        }
}
server {
    listen       80;
    server_name  www.1901tv.com;
    root html/laravel/public;
    location / {
        try_files $uri $uri/ /index.php?$query_string;
        index  index.html index.htm index.php;
    }
    location ~ \.php(.*)$ {
            fastcgi_pass   127.0.0.1:9001;
            fastcgi_index  index.php;
            fastcgi_split_path_info  ^((?U).+\.php)(/?.+)$;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            fastcgi_param  PATH_INFO  $fastcgi_path_info;
            fastcgi_param  PATH_TRANSLATED  $document_root$fastcgi_path_info;
            include        fastcgi_params;
        }
}

3、如果对应的php版本未运行的话,可对应启动php:/etc/rc.d/init.d/php-fpm start

结语:至此多版本php就配置好了,如还有疑问的,可在下方评论留言。

发表评论

电子邮件地址不会被公开。 必填项已用*标注