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
,可以通过修改这些文件来更改配置。