linux如何同时使用多个php版
linux如何同时使用多个php版详细介绍
在 Linux 系统中若要同时使用多个 PHP 版本,可按以下步骤操作:
1. 安装多个 PHP 版本
可以借助软件包管理器(如 apt 或 yum)或者第三方源(如 ondrej/php)来安装不同版本的 PHP。
以 Ubuntu 系统为例,使用 ondrej/php 源安装 PHP 7.4 和 PHP 8.1:
bash
add-apt-repository ppa:ondrej/php
update
php7.4 php7.4-cli php7.4-fpm php7.4-mysql
php8.1 php8.1-cli php8.1-fpm php8.1-mysql
2. 切换 PHP CLI 版本
你可以使用 update-alternatives 命令来切换默认的 PHP CLI 版本。
列出可用的 PHP 版本:
bash
update-alternatives php
运行上述命令后,系统会列出所有可用的 PHP 版本,你只需输入对应版本前的编号,再按回车键就能切换到指定版本。
3. 在 Web 服务器中使用多个 PHP 版本
若要在 Web 服务器(如 Nginx 或 Apache)里同时使用多个 PHP 版本,可按如下步骤操作。
Nginx + PHP-FPM
为每个 PHP 版本分别配置一个 PHP-FPM 服务,然后在 Nginx 配置文件中指定要使用的 PHP 版本。
配置 PHP-FPM 服务
PHP 7.4 的配置文件通常位于 /etc/php/7.4/fpm/pool.d/www.conf,PHP 8.1 的配置文件通常位于 /etc/php/8.1/fpm/pool.d/www.conf。确保每个服务监听不同的端口或 Unix 套接字。
例如,让 PHP 7.4 监听 127.0.0.1:9074,PHP 8.1 监听 127.0.0.1:9081。
配置 Nginx
在 Nginx 的虚拟主机配置文件中指定要使用的 PHP 版本:
nginx
example.com
/var/www/html
/
/ /index.php?
~ \.php$
127.0.0.1:9074
index.php
SCRIPT_FILENAME
fastcgi_params
another-example.com
/var/www/another-html
/
/ /index.php?
~ \.php$
127.0.0.1:9081
index.php
SCRIPT_FILENAME
fastcgi_params
配置完成后,重启 Nginx 和 PHP-FPM 服务:
bash
systemctl restart nginxsystemctl restart php7.4-fpm
systemctl restart php8.1-fpm
Apache + mod_php
Apache 可以通过 mod_php 模块来支持多个 PHP 版本。不过,每个虚拟主机只能使用一个 PHP 版本。
你可以通过 a2enmod 和 a2dismod 命令来启用或禁用不同的 PHP 模块。
bash
a2enmod php7.4
systemctl restart apache2
a2enmod php8.1
systemctl restart apache2
912345678 a2enmod php7.4 systemctl apache2
a2enmod php8.1 systemctl apache2
通过上述步骤,你就能够在 Linux 系统中同时使用多个 PHP 版本了。