1. 程式人生 > >[教程]Ubuntu 下輕鬆實現 PHP 多版本共存

[教程]Ubuntu 下輕鬆實現 PHP 多版本共存

原文地址


隨著 php-mysql 拓展在 PHP7 被砍掉以後,一些程式或者外掛就不能執行在 PHP7 上,因此 PHP 多版本的需求就顯得非常的有必要。
因為系列教程中 PHP 是通過軟體源非編譯安裝的,所以實現多版本共存就非常的方便,而且還非常浪費時間,編譯一個php那可是大半個小時啊!!。

教程


這裡以安裝 PHP7.1 和 PHP5.6 多版本為例。


一、根據  教程進行安裝 PHP7.1 和 PHP7.1 和 PHP5.6:

複製程式碼
  1. 先安裝 PHP7.1
  2. 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
  3. 再接著安裝 PHP7.0
  4. 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
  5. 再接著安裝 PHP5.6
  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



二、設定虛擬子主機反代的版本,

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


複製程式碼
  1. ##PHP
  2.   location ~ [^/]\.php(/|$) {
  3.       fastcgi_pass unix:/run/php/php7.1-fpm.sock;
  4.       fastcgi_index index.php;
  5.       include fastcgi.conf;
  6.       fastcgi_param PHP_VALUE "open_basedir=$document_root:/tmp/:/proc/";
  7.     }


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


複製程式碼
  1. ##PHP
  2.   location ~ [^/]\.php(/|$) {
  3.       fastcgi_pass unix:/run/php/php7.0-fpm.sock;
  4.       fastcgi_index index.php;
  5.       include fastcgi.conf;
  6.       fastcgi_param PHP_VALUE "open_basedir=$document_root:/tmp/:/proc/";
  7.     }






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


複製程式碼
  1. ##PHP
  2.   location ~ [^/]\.php(/|$) {
  3.       fastcgi_pass unix:/run/php/php5.6-fpm.sock;
  4.       fastcgi_index index.php;
  5.       include fastcgi.conf;
  6.       fastcgi_param PHP_VALUE "open_basedir=$document_root:/tmp/:/proc/";
  7.     }



然後重啟 OpenResty: 複製程式碼
  1. nginx -s reload


就是這麼簡單粗暴,基本上一下子就設定好了。

無論是編譯的還是軟體包安裝的 Nginx 及其衍生版都可以使用這種方法快速設定多版本

原文地址