HCRM博客

如何在CentOS上安装特定版本的PHP?

CentOS 上 PHP 版本的安装与管理

在 CentOS 系统中,PHP 是一个广泛使用的开发语言,支持多种 Web 应用程序,本文将详细介绍如何在 CentOS 系统上查看、安装和管理不同版本的 PHP。

如何在CentOS上安装特定版本的PHP?-图1
(图片来源网络,侵权删除)

查看当前 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。

如何在CentOS上安装特定版本的PHP?-图2
(图片来源网络,侵权删除)
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:

如何在CentOS上安装特定版本的PHP?-图3
(图片来源网络,侵权删除)
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,可以通过修改这些文件来更改配置。

分享:
扫描分享到社交APP
上一篇
下一篇