當前位置: 首頁> 最新文章列表> 如何在CentOS上實現PHP5與PHP7的共存配置

如何在CentOS上實現PHP5與PHP7的共存配置

gitbox 2025-07-03

在CentOS上實現PHP5與PHP7的共存配置

在現代網站開發中,PHP5與PHP7的共存配置日漸成為一種需求。許多應用程序或者框架可能仍然依賴於PHP5,而同時我們又想享受PHP7所帶來的性能提升和新特性。在CentOS上實現這種共存,可以讓開發者靈活地根據需要選擇不同版本的PHP。本文將介紹具體的步驟和配置技巧,使您能夠在CentOS環境中順利實現PHP5與PHP7的共存配置。

環境準備

在開始之前,請確保您已經具備以下環境:

  • CentOS 7系統
  • 管理權限的用戶
  • 已安裝的EPEL和Remi庫

安裝PHP5與PHP7

配置EPEL和Remi庫

首先,我們需要啟用EPEL和Remi庫。這兩個庫提供了用於安裝不同版本PHP的軟件包。

 <span class="fun">yum install epel-release</span>
 <span class="fun">yum install https://rpms.remirepo.net/enterprise/remi-release-7.rpm</span>

安裝PHP7

接下來,執行以下命令來安裝PHP7及其常用擴展:

 <span class="fun">yum --enablerepo=remi-php74 install php php-cli php-fpm php-mysqlnd</span>

安裝PHP5

然後,我們需要安裝PHP5。由於PHP5在Remi庫中默認不可用,我們需要啟用remi-php55庫來安裝它:

 <span class="fun">yum --enablerepo=remi-php55 install php php-cli php-fpm php-mysql</span>

配置PHP-FPM以支持共存

安裝完畢後,您需要配置PHP-FPM,使得兩種PHP版本能夠在不同的端口上運行。以下是基本的配置步驟:

為PHP7配置FPM

我們需要編輯PHP7的FPM配置文件:

 <span class="fun">vi /etc/php-fpm.d/www.conf</span>

修改listen行,使其監聽不同的端口,例如9000:

 <span class="fun">listen = 127.0.0.1:9000</span>

為PHP5配置FPM

同樣,編輯PHP5的FPM配置文件,通常路徑為:

 <span class="fun">vi /etc/php-fpm.d/www.conf</span>

更改為另一個不同的端口,例如9001:

 <span class="fun">listen = 127.0.0.1:9001</span>

配置Web服務器

在配置好PHP-FPM後,我們還需要在Web服務器中配置PHP解析。這里以Nginx為例:

配置Nginx

打開Nginx的配置文件,並添加對不同腳本類型的支持:

 server {
  listen 80;
  server_name your_domain.com;

  location ~ \.php$ {
    include fastcgi_params;
    fastcgi_pass 127.0.0.1:9000; # 這裡是PHP7的端口
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
  }

  location ~ \.php5$ {
    include fastcgi_params;
    fastcgi_pass 127.0.0.1:9001; # 這裡是PHP5的端口
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
  }
}

重啟服務

完成配置後,別忘了重啟PHP-FPM和Nginx服務,使配置生效:

 <span class="fun">systemctl restart php-fpm</span>
 <span class="fun">systemctl restart nginx</span>

驗證配置

最後,您可以創建兩個不同版本的PHP測試文件,通過訪問不同的URL來驗證它們是否能夠正常工作。例如,一個PHP7 文件為info.php ,內容為:

 <span class="fun"><?php phpinfo(); ?></span>

同時,一個PHP5 文件為info.php5 ,內容相同。根據訪問的文件名,您的Web服務器將調用相應的PHP版本。

總結

通過以上步驟,您已經成功在CentOS上配置了PHP5與PHP7的共存。這種靈活的配置方法使您能同時運行不同版本的PHP,為應用程序的兼容性和開發環境提供了更多的便利。在今後的開發中,您可以根據項目需求自由切換PHP版本,充分利用兩者的優點。