Linux入门教程:Ubuntu 下轻松实现 PHP 多版本共存, 因为系列教程中 P


介绍

随着 php-mysql 拓展在 PHP7 被砍掉以后,一些程序或者插件就不能运行在 PHP7 上,因此 PHP 多版本的需求就显得非常的有必要。

因为系列教程中 PHP 是通过软件源非编译安装的,所以实现多版本共存就非常的方便。

教程

这里以安装 PHP7.1 和 PHP5.6 多版本为例。

一、根据 Ubuntu 免编译安装 PHP-FPM (https://www.mf8.biz/ubuntu-install-php-fpm/) 教程进行安装 PHP7.1 和 PHP5.6:

先安装 PHP7.1

apt install php7.1-fpm php7.1-mysql php7.1-curl php7.1-gd php7.1-mbstring php7.1-mcrypt php7.1-xml php7.1-xmlrpc php7.1-zip php7.1-opcache -y

再接着安装 PHP5.6

apt install php5.6-fpm php5.6-mysql php5.6-curl php5.6-gd php5.6-mbstring php5.6-mcrypt php5.6-xml php5.6-xmlrpc php5.6-zip php5.6-opcache -y

二、设置虚拟子主机反代的版本

参考: https://www.mf8.biz/openresty-create-virtualhost/

在需要使用 PHP7.1 的子主机下使用:

 ##PHP
  location ~ [^/]\.php(/|$) {
      fastcgi_pass unix:/run/php/php7.1-fpm.sock;
      fastcgi_index index.php;
      include fastcgi.conf;
      fastcgi_param PHP_VALUE "open_basedir=$document_root:/tmp/:/proc/";
    }

在需要使用 PHP5.6 的子主机下使用:

 ##PHP
  location ~ [^/]\.php(/|$) {
      fastcgi_pass unix:/run/php/php5.6-fpm.sock;
      fastcgi_index index.php;
      include fastcgi.conf;
      fastcgi_param PHP_VALUE "open_basedir=$document_root:/tmp/:/proc/";
    }

然后重启 OpenResty:

nginx -s reload

就是这么简单粗暴,基本上一下子就设置好了。

相关内容