官方源版本舊,需引入維護較新 PHP 版本的第三方倉庫。推薦 Remi(更新及時、擴展豐富)或 Webtatic(兼容性好)。
# 1. 安裝 EPEL + Remi yum install -y epel-release # CentOS 7 yum install -y https://rpms.remirepo.net/enterprise/remi-release-7.rpm # CentOS 6 yum install -y https://rpms.remirepo.net/enterprise/remi-release-6.rpm # 2. 查看可用 PHP 模塊 yum repolist all | grep php # 3. 啟用目標版本 (以 PHP 7.4 為例) yum-config-manager --enable remi-php74 # 或 PHP 5.6 # yum-config-manager --enable remi-php56 # 4. 升級 yum update -y php php-* # 5. 重啟服務 systemctl restart php-fpm httpd # 或 service php-fpm restart
# 1. 卸載現有 PHP 包(避免衝突) yum remove -y php php-bcmath php-cli php-common php-devel php-fpm php-gd php-imap php-ldap php-mbstring php-mcrypt php-mysql php-odbc php-pdo php-pear php-pecl-igbinary php-xml php-xmlrpc # 2. 安裝 Webtatic 源 rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm # CentOS 7 # rpm -Uvh https://mirror.webtatic.com/yum/el6/latest.rpm # CentOS 6 # 3. 安裝目標版本 (php54w/55w/56w/70w/71w/72w/73w/74w) # PHP 5.4 yum install -y php54w php54w-bcmath php54w-cli php54w-common php54w-devel php54w-fpm php54w-gd php54w-imap php54w-ldap php54w-mbstring php54w-mcrypt php54w-mysql php54w-odbc php54w-pdo php54w-pear php54w-pecl-igbinary php54w-xml php54w-xmlrpc php54w-opcache php54w-intl php54w-pecl-memcache # PHP 5.5 (將 54w 替換為 55w) # yum install -y php55w php55w-bcmath ... # PHP 7.4 # yum install -y php74w php74w-bcmath ...
php -v # PHP 7.4.33 (cli) (built: Nov 2 2023 08:12:35) ( NTS ) # Copyright (c) The PHP Group # Zend Engine v3.4.0 php -m | grep -E 'opcache|redis|memcached|gd|mbstring|pdo_mysql'
| 問題 | 解決 |
|---|---|
| yum update 無可用包 | 檢查 yum repolist enabled 確認 remi-phpXX 已啟用 |
| 擴展缺失 | yum search php74w- 查找對應擴展包名安裝 |
| 服務啟動失敗 | 查看 /var/log/php-fpm/error.log,常見為配置文件語法不兼容新版 |
| 網站報錯 500 | 開啟 display_errors 或查錯誤日誌,檢查代碼兼容性(如 each()、create_function() 已移除) |
/etc/php.ini、/etc/php-fpm.d/www.conf;PHP 5.x 已全系停止安全更新。**強烈建議直接升級至 PHP 8.1/8.2/8.3**(積極維護版),享受 JIT、纖程、readonly、DNF 類型等現代特性,並獲得長期安全支持。