CentOS 上 PHP 版本的安装与管理
在 CentOS 系统中,PHP 是一个广泛使用的开发语言,支持多种 Web 应用程序,本文将详细介绍如何在 CentOS 系统上查看、安装和管理不同版本的 PHP。
查看当前 PHP 版本
要查看当前系统中安装的 PHP 版本,可以使用以下命令:
php v
该命令会显示当前系统中默认的 PHP 版本信息,包括版本号和构建日期等。
安装不同版本的 PHP
1. 通过 YUM 安装 PHP
CentOS 提供了 YUM 包管理器,可以方便地安装和管理软件包,以下是通过 YUM 安装 PHP 的基本步骤。
安装 EPEL 和 REMI 存储库
需要添加 EPEL(Extra Packages for Enterprise Linux)和 REMI(RPM repository for Enterprise Linux/CentOS)存储库,这些存储库提供了多个版本的 PHP。
sudo yum install epelrelease y sudo yum install https://rpms.remirepo.net/enterprise/remirelease7.rpm y
启用所需 PHP 版本的存储库
要安装 PHP 7.4,可以执行以下命令:
sudo yumconfigmanager enable remiphp74
安装 PHP 7.4
启用存储库后,可以安装 PHP 7.4:
sudo yum install php phpcli phpfpm phpmysqlnd phpzip phpdevel phpgd phpmcrypt phpmbstring phpcurl phpxml phppear phpbcmath phpjson phpredis y
验证安装
安装完成后,可以通过以下命令验证是否成功安装指定版本的 PHP:
php v
如果输出类似于PHP 7.4.x (cli)
,则表示安装成功。
2. 编译源码安装 PHP
对于一些高级用户或特定需求,可以通过编译源码来安装 PHP,以下是编译安装 PHP 8.0 的步骤。
安装依赖项
编译 PHP 需要一些必要的工具和库,可以通过以下命令安装:
sudo yum install wget gcc gccc++ autoconf automake libtool make libxml2 libxml2devel openssl openssldevel sqlitedevel y
下载并解压 PHP 源码
从官方 PHP 网站下载指定版本的源码包,PHP 8.0:
wget https://www.php.net/distributions/php8.0.23.tar.gz tar zxvf php8.0.23.tar.gz cd php8.0.23
配置并编译安装
运行以下命令进行配置和编译安装:
./configure prefix=/usr/local/php8.0 make && sudo make install
验证安装
可以通过以下命令验证是否成功安装指定版本的 PHP:
/usr/local/php8.0/bin/php v
如果输出类似于PHP 8.0.23 (cli)
,则表示安装成功。
多版本 PHP 共存与切换
在一些情况下,服务器可能需要同时运行多个版本的 PHP,以下是实现多版本 PHP 共存与切换的方法。
创建不同目录存放不同版本 PHP
可以在服务器上创建不同的目录来存放不同版本的 PHP,创建/opt/php56
和/opt/php72
目录,分别存放 PHP 5.6 和 PHP 7.2。
配置并编译安装指定路径
在编译安装过程中,指定对应的目录:
./configure prefix=/opt/php56 make && make install
重复上述步骤安装其他版本:
./configure prefix=/opt/php72 make && make install
切换 PHP 版本
创建一个名为switchphp.sh
的 shell 脚本来切换 PHP 版本:
#!/bin/sh if [ "$#" ne 1 ]; then echo "Usage: switchphp <PHP_VERSION>" else if [ ! d /opt/php$1 ]; then echo "Error: PHP$1 is not installed." elif [ f /opt/php$1/bin/php ]; then sudo ln snf /opt/php$1/bin/php /usr/bin/php php v echo "Switched to PHP $1" else echo "Error: Could not switch PHP version." fi fi
赋予脚本可执行权限:
chmod +x switchphp.sh
使用脚本切换到指定版本的 PHP:
./switchphp.sh 7.2
常见问题与解答(FAQs)
Q1: 如何卸载已安装的 PHP 版本?
A1: 使用 YUM 安装的 PHP 可以通过以下命令卸载:
sudo yum remove php y
如果是通过编译安装的 PHP,可以直接删除对应的目录,删除 PHP 8.0:
rm rf /usr/local/php8.0
Q2: 如何更改 PHP 配置文件的位置?
A2: 如果安装了多个版本的 PHP,每个版本都会有独立的配置文件,PHP 7.4 的配置文件通常位于/etc/php.ini
,而编译安装的 PHP 8.0 可能位于/usr/local/php8.0/lib/php.ini
,可以通过修改这些文件来更改配置。