前置:安裝 EPEL、Nginx、Remi 軟體庫
rpm -Uvh https://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
rpm -ivh https://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm
rpm -Uvh https://rpms.famillecollet.com/enterprise/remi-release-6.rpm
切換至 PHP 7.0 軟體庫
cd /etc/yum.repos.d
# 停用 PHP 5.5
nano remi.repo
# 找到 [remi-php55] 區段,將 enabled=1 改為 enabled=0
# 啟用 PHP 7.0
nano remi.repo
# 找到 [remi-php70] 區段,將 enabled=0 改為 enabled=1
安裝 PHP 7 核心與常用擴充套件
yum install php php-fpm php-opcache php-cli php-common \
php-mysqlnd php-mbstring php-mcrypt php-gd php-xml php-dom \
php-json php-pdo php-pecl-redis php-pecl-memcache php-pecl-mongodb \
php-pecl-solr php-pecl-seaslog php-pecl-hprose php-pecl-apcu
# 重啟服務
service php-fpm restart
service nginx restart
套件用途對照表
| 套件 | 用途 |
| php-fpm | FastCGI 進程管理器(Nginx 搭配必裝) |
| php-opcache | Opcode 快取,大幅提升執行效能 |
| php-mysqlnd | MySQL 原生驅動,效能優於 libmysqlclient |
| php-mbstring | 多位元組字串處理(中文、UTF-8 必備) |
| php-mcrypt | 加密演算法(註:PHP 7.2+ 已棄用,建議改用 sodium/openssl) |
| php-gd | 圖形處理(驗證碼、縮圖、水印) |
| php-xml / php-dom | XML/HTML 解析 |
| php-pecl-redis | Redis 客戶端(高效能快取/佇列) |
| php-pecl-memcache | Memcache 客戶端(注意區別 memcached) |
| php-pecl-mongodb | MongoDB 官方驅動 |
| php-pecl-apcu | APCu 使用者快取(單機鍵值存儲) |
驗證安裝
php -v
php -m | grep -E 'redis|memcache|mongodb|opcache|mysqlnd'
php-fpm -v
常見問題
- 版本衝突:若系統預裝 PHP 5.x,先
yum remove php* 清理
- 缺少依賴:確認 EPEL/Remi 已正確啟用,
yum repolist 檢視
- php-mcrypt 缺失:CentOS 7+ 需啟用 EPEL,或改用
php-pecl-mcrypt
- 生產環境建議:鎖定版本(
yum install php-7.0.33)、定期 yum update 安全性修補