[教程]Ubuntu 下輕鬆實現 PHP 多版本共存
阿新 • • 發佈:2019-01-28
隨著 php-mysql 拓展在 PHP7 被砍掉以後,一些程式或者外掛就不能執行在
PHP7 上,因此 PHP 多版本的需求就顯得非常的有必要。
因為系列教程中
PHP 是通過軟體源非編譯安裝的,所以實現多版本共存就非常的方便,而且還非常浪費時間,編譯一個php那可是大半個小時啊!!。
教程
這裡以安裝 PHP7.1 和 PHP5.6 多版本為例。
一、根據 教程進行安裝 PHP7.1 和 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
- 再接著安裝 PHP7.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
- 再接著安裝 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
二、設定虛擬子主機反代的版本,
在需要使用 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/";
- }
在需要使用 PHP7.1 的子主機下使用:
複製程式碼
- ##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/";
- }
在需要使用 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
就是這麼簡單粗暴,基本上一下子就設定好了。
無論是編譯的還是軟體包安裝的 Nginx 及其衍生版都可以使用這種方法快速設定多版本