在使用 ISPConfig 时,默认情况下只有系统发行版自带的主要 PHP 版本。本教程将介绍如何在 Ubuntu 服务器上通过 ISPConfig 安装多个 PHP 版本(5.6、7.0、7.1、7.2、7.3、7.4、8.0、8.1、8.2、8.3 和 8.4),适用于 Ubuntu 22.04 和 Ubuntu 24.04 系统。安装完成后,您可以在 ISPConfig 中为特定网站选择 PHP-FPM 或 FastCGI 模式下的不同 PHP 版本。本教程同时兼容 Apache 和 Nginx Web 服务器。
前提条件
在本教程中,您需要添加 SURY PPA 仓库作为额外的软件源,以便通过 apt 安装 PHP 软件包。由于 OpenSSL 等其他软件包也会随之更新,因此安装后无法简单地移除来自 sury.org 的软件包——请不要在之后删除 SURY 仓库源。请注意,PHP-FPM 可以在 Apache 和 Nginx 服务器上使用,而 FastCGI 模式仅适用于 Apache 服务器。
添加 SURY 仓库
首先,添加 SURY PPA 仓库:
add-apt-repository -y ppa:ondrej/php
然后更新软件包列表:
apt-get update
升级新仓库中已有的软件包:
apt-get upgrade
安装额外的 PHP 版本
您不必安装下面列出的每个版本,只需安装您需要的版本即可。不同 Ubuntu 版本对应的默认 PHP 版本如下:Ubuntu 20.04 对应 PHP 7.4,Ubuntu 22.04 对应 PHP 8.1,Ubuntu 24.04 对应 PHP 8.3。
安装 PHP 7.4
apt-get install php7.4 php7.4-cli php7.4-cgi php7.4-fpm php7.4-gd php7.4-mysql php7.4-imap php7.4-curl php7.4-intl php7.4-pspell php7.4-sqlite3 php7.4-tidy php7.4-xmlrpc php7.4-xsl php7.4-zip php7.4-mbstring php7.4-soap php7.4-opcache php7.4-common php7.4-json php7.4-readline php7.4-xml
安装 PHP 8.1
apt-get install php8.1 php8.1-cli php8.1-cgi php8.1-fpm php8.1-gd php8.1-mysql php8.1-imap php8.1-curl php8.1-intl php8.1-pspell php8.1-sqlite3 php8.1-tidy php8.1-xsl php8.1-zip php8.1-mbstring php8.1-soap php8.1-opcache php8.1-common php8.1-readline php8.1-xml
安装 PHP 8.2
apt-get install php8.2 php8.2-cli php8.2-cgi php8.2-fpm php8.2-gd php8.2-mysql php8.2-imap php8.2-curl php8.2-intl php8.2-pspell php8.2-sqlite3 php8.2-tidy php8.2-xsl php8.2-zip php8.2-mbstring php8.2-soap php8.2-opcache php8.2-common php8.2-readline php8.2-xml
安装 PHP 8.3
apt-get install php8.3 php8.3-cli php8.3-cgi php8.3-fpm php8.3-gd php8.3-mysql php8.3-imap php8.3-curl php8.3-intl php8.3-pspell php8.3-sqlite3 php8.3-tidy php8.3-xsl php8.3-zip php8.3-mbstring php8.3-soap php8.3-opcache php8.3-common php8.3-readline php8.3-xml
安装 PHP 8.4
apt-get install php8.4 php8.4-cli php8.4-cgi php8.4-fpm php8.4-gd php8.4-mysql php8.4-imap php8.4-curl php8.4-intl php8.4-pspell php8.4-sqlite3 php8.4-tidy php8.4-xsl php8.4-zip php8.4-mbstring php8.4-soap php8.4-opcache php8.4-common php8.4-readline php8.4-xml
恢复系统默认 PHP 版本
操作系统的默认 PHP 版本必须保持在原始版本。运行以下命令逐个设置(注意每个命令后选择对应的 PHP 版本):Ubuntu 20.04 选择 7.4,Ubuntu 22.04 选择 8.1,Ubuntu 24.04 选择 8.3。
update-alternatives --config php update-alternatives --config php-cgi update-alternatives --config php-fpm.sock
在 ISPConfig 中添加 PHP 版本
在 ISPConfig 3 中,进入 System > Additional PHP Versions > Add new PHP version 进行配置。首先添加系统默认已安装的 PHP 版本,然后为其他额外版本一一配置。以下是各版本的 ISPConfig 配置参数。
PHP 7.4 配置
FastCGI 设置:
- PHP FastCGI 二进制路径:/usr/bin/php-cgi7.4
- php.ini 目录:/etc/php/7.4/cgi/
PHP-FPM 设置:
- PHP-FPM 初始化脚本:php7.4-fpm
- php.ini 目录:/etc/php/7.4/fpm/
- PHP-FPM 池目录:/etc/php/7.4/fpm/pool.d/
PHP-CLI 设置:
- PHP CLI 二进制路径:/usr/bin/php7.4
- PHP Jailkit 配置段:php7_4
PHP 8.1 配置
FastCGI 设置:
- PHP FastCGI 二进制路径:/usr/bin/php-cgi8.1
- php.ini 目录:/etc/php/8.1/cgi/
PHP-FPM 设置:
- PHP-FPM 初始化脚本:php8.1-fpm
- php.ini 目录:/etc/php/8.1/fpm/
- PHP-FPM 池目录:/etc/php/8.1/fpm/pool.d/
PHP-CLI 设置:
- PHP CLI 二进制路径:/usr/bin/php8.1
- PHP Jailkit 配置段:php8_1
PHP 8.2 配置
FastCGI 设置:
- PHP FastCGI 二进制路径:/usr/bin/php-cgi8.2
- php.ini 目录:/etc/php/8.2/cgi/
PHP-FPM 设置:
- PHP-FPM 初始化脚本:php8.2-fpm
- php.ini 目录:/etc/php/8.2/fpm/
- PHP-FPM 池目录:/etc/php/8.2/fpm/pool.d/
PHP-CLI 设置:
- PHP CLI 二进制路径:/usr/bin/php8.2
- PHP Jailkit 配置段:php8_2
PHP 8.3 配置
FastCGI 设置:
- PHP FastCGI 二进制路径:/usr/bin/php-cgi8.3
- php.ini 目录:/etc/php/8.3/cgi/
PHP-FPM 设置:
- PHP-FPM 初始化脚本:php8.3-fpm
- php.ini 目录:/etc/php/8.3/fpm/
- PHP-FPM 池目录:/etc/php/8.3/fpm/pool.d/
PHP-CLI 设置:
- PHP CLI 二进制路径:/usr/bin/php8.3
- PHP Jailkit 配置段:php8_3
PHP 8.4 配置
FastCGI 设置:
- PHP FastCGI 二进制路径:/usr/bin/php-cgi8.4
- php.ini 目录:/etc/php/8.4/cgi/
PHP-FPM 设置:
- PHP-FPM 初始化脚本:php8.4-fpm
- php.ini 目录:/etc/php/8.4/fpm/
- PHP-FPM 池目录:/etc/php/8.4/fpm/pool.d/
PHP-CLI 设置:
- PHP CLI 二进制路径:/usr/bin/php8.4
- PHP Jailkit 配置段:php8_4
总结
完成以上配置后,您就可以在 ISPConfig 中为您的网站选择额外的 PHP 版本了。建议不要随意更改操作系统的默认 PHP 版本,因为包括 ISPConfig 在内的许多软件包都依赖于此,更改可能导致服务器故障。更多服务器管理教程,请访问 www.leehay.com。