目标:安装两个不同的php版本,并且能同时运行对应php版本要求的系统
1. 添加 Remi 仓库
Remi 仓库提供了多个 PHP 版本的支持,首先需要安装并启用 Remi 仓库:
# 安装 EPEL 仓库(Remi 依赖 EPEL) sudo yum install epel-release -y # 安装 Remi 仓库 sudo yum install https://rpms.remirepo.net/enterprise/remi-release-7.rpm -y
2. 安装多个 PHP 版本
安装 PHP 7.2
# 启用 PHP 7.2 仓库 sudo yum-config-manager --enable remi-php72 # 安装 PHP 7.2 及其常用扩展 yum install php72-php php72-php-fpm php72-php-mcrypt php72-php-cli php72-php-gd php72-php-curl php72-php-mysql php72-php-ldap php72-php-zip php72-php-fileinfo php72-php-redis php72-php-bcmath php72-php-gd php72-php-pdo php72-php-mbstring php72-php-fpm php72-php-mysqlnd php72-php-simplexml php72-php-devel
安装 PHP 8.2
# 启用 PHP 8.2 仓库 sudo yum-config-manager --enable remi-php82 # 安装 PHP 8.2 及其常用扩展 yum install php82-php php82-php-fpm php82-php-mcrypt php82-php-cli php82-php-gd php82-php-curl php82-php-mysql php82-php-ldap php82-php-zip php82-php-fileinfo php82-php-redis php82-php-bcmath php82-php-gd php82-php-pdo php82-php-mbstring php82-php-fpm php82-php-mysqlnd php82-php-simplexml php82-php-devel
3. 配置 PHP-FPM
每个 PHP 版本都有独立的 PHP-FPM 配置文件,需要分别配置以避免端口冲突。
修改 PHP 7.2 的 PHP-FPM 配置
vim /etc/opt/remi/php72/php-fpm.d/www.conf
listen = 127.0.0.1:9000
修改 PHP 8.0 的 PHP-FPM 配置
vim /etc/opt/remi/php82/php-fpm.d/www.conf
listen = 127.0.0.1:9001
启动 PHP-FPM 服务
# # 启动 PHP 7.2 的 PHP-FPM sudo systemctl start php72-php-fpm sudo systemctl enable php72-php-fpm # 启动 PHP 8.2 的 PHP-FPM sudo systemctl start php82-php-fpm sudo systemctl enable php82-php-fpm
4. 配置 Nginx 支持多版本 PHP
# PHP 7.4 站点配置 server { listen 80; server_name site74.example.com; root /var/www/site74; location ~ \.php$ { fastcgi_pass 127.0.0.1:9001; fastcgi_index index.php; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } } # PHP 8.0 站点配置 server { listen 80; server_name site80.example.com; root /var/www/site80; location ~ \.php$ { fastcgi_pass 127.0.0.1:9002; fastcgi_index index.php; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } }
重启 Nginx
systemctl restart nginx
5、检查 PHP 版本
# 检查 PHP 7.2 版本 /opt/remi/php72/root/usr/bin/php -v # 检查 PHP 8.2 版本 /opt/remi/php82/root/usr/bin/php -v
6. 切换默认 PHP 版本(可选)
如果需要切换默认的 PHP 版本,可以通过修改符号链接实现:
# 切换到 PHP 7.2 sudo ln -sf /opt/remi/php72/root/usr/bin/php /usr/bin/php # 切换到 PHP 8.2 sudo ln -sf /opt/remi/php82/root/usr/bin/php /usr/bin/php
本帖已被设为精华帖!