云网牛站
所在位置:首页 > Linux教程 > 在Ubuntu中实现多个PHP版本共存

在Ubuntu中实现多个PHP版本共存

2018-07-24 12:21:20作者:妙正灰稿源:linux站

在新的PHP 7系列版本中云掉了好多的php-mysql扩展,而目前一些程序或者是插件不能很好的兼容PHP 7程序,这个时候可以采用安装多个PHP版本共存,有需要的时候再进行PHP版本切换。本文的PHP都是在Ubuntu系统root用户中通过软件源方式安装的,所以实现多个PHP版本共存非常简单,如果是编译PHP的方式可能需要花好长时间。本文在Ubuntu 16.04 LTS系统中以安装PHP7.1和PHP5.6版本为例说明多个PHP版本共存的方法。

 

一、安装PHP 7.1、PHP 7.0和PHP 5.6的命令

先安装 PHP 7.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

再接着安装 PHP 7.0:

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

再接着安装 PHP 5.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

注:你也可以通过相同的方式安装其它的PHP版本。

 

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

1.在需要使用 PHP 7.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/";

}

2.在需要使用 PHP 7.0 的子主机下使用以下代码: 

##PHP

location ~ [^/]\.php(/|$) {

fastcgi_pass unix:/run/php/php7.0-fpm.sock;

fastcgi_index index.php;

include fastcgi.conf;

fastcgi_param PHP_VALUE "open_basedir=$document_root:/tmp/:/proc/";

}

3.在需要使用 PHP 5.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/";

}

4.通过修改需要的代码后重新启动OpenResty:

nginx -s reload

 

总结

方法就是这么简单,基本上全程无难度。无论是编译的还是软件包安装的Nginx和其衍生版都可以使用相同的方法快速设置PHP多版本。

 

相关主题

在Debian/Ubuntu上免编译安装PHP7.2~5.6

精选文章
热门文章