在新的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多版本。
相关主题 |