在 CentOS/RHEL 7/6 上安裝最新 PHP 7 軟件包的 3 種方法
在默認(rèn)情況下,CentOS/RHEL 6 操作系統(tǒng)在其官方存儲(chǔ)庫(kù)中提供 PHP 5.3,而 CentOS/RHEL 7 則提供 PHP 5.4。
在本文中,我們將向你展示如何在 CentOS/RHEL 7 和 CentOS/RHEL 6 系統(tǒng)上安裝最新版本的 PHP。
這可以通過(guò)在系統(tǒng)中添加必要的 附加第三方 RPM 存儲(chǔ)庫(kù) 來(lái)完成。
方法-1:如何使用軟件集合存儲(chǔ)庫(kù)(SCL)在 CentOS 6/7 上安裝 PHP 7
現(xiàn)在,SCL 存儲(chǔ)庫(kù)由 CentOS SIG 維護(hù),該組織不僅重新構(gòu)建了 Red Hat Software Collections,還提供了自己的一些其他軟件包。
它包含各種程序的較新版本,這些程序可以與現(xiàn)有的舊軟件包一起安裝,并可以使用 scl 命令調(diào)用。
要想在 CentOS 上安裝軟件集合存儲(chǔ)庫(kù)(SCL),請(qǐng)運(yùn)行以下 yum 命令
- # yum install centos-release-scl
運(yùn)行以下命令可以驗(yàn)證 SCL 存儲(chǔ)庫(kù)中可用的 PHP 7 版本:
- # yum --disablerepo="*" --enablerepo="centos-sclo-rh" list *php
- Loaded plugins: fastestmirror, langpacks
- Loading mirror speeds from cached hostfile
- centos-sclo-rh: centos.mirrors.estointernet.in
- Available Packages
- php54-php.x86_64 5.4.40-4.el7 centos-sclo-rh
- php55-php.x86_64 5.5.21-5.el7 centos-sclo-rh
- rh-php70-php.x86_64 7.0.27-2.el7 centos-sclo-rh
- rh-php71-php.x86_64 7.1.30-2.el7 centos-sclo-rh
- rh-php72-php.x86_64 7.2.24-1.el7 centos-sclo-rh
運(yùn)行以下命令可以從 SCL 中安裝 PHP 7.2 到你的系統(tǒng)中:
- # yum --disablerepo="*" --enablerepo="centos-sclo-rh" install rh-php72-php
如果需要為 PHP 7.2 安裝其他模塊,則可以通過(guò)運(yùn)行以下命令格式來(lái)安裝它們。 例如,你可以通過(guò)執(zhí)行以下命令來(lái)安裝 gd 和 pdo 軟件包:
- # yum --disablerepo="*" --enablerepo="centos-sclo-rh" install rh-php72-php-gd rh-php72-php-pdo
方法-1a:如何使用軟件集合存儲(chǔ)庫(kù)(SCL)在 RHEL 7 上安裝 PHP 7
對(duì)于 Red Hat 7,啟用以下存儲(chǔ)庫(kù)以安裝最新的 PHP 7 軟件包:
- # sudo subscription-manager repos --enable rhel-7-server-extras-rpms
- # sudo subscription-manager repos --enable rhel-7-server-optional-rpms
- # sudo subscription-manager repos --enable rhel-server-rhscl-7-rpms
運(yùn)行以下命令從 RHSCL 庫(kù)中搜索可用的 PHP 7 版本:
- # yum search rh-php*
運(yùn)行以下命令,你可以輕松地從 RHSCL 存儲(chǔ)庫(kù)中把 PHP7.3 安裝到你的 RHEL 7 計(jì)算機(jī)上:
- # yum install rh-php73
方法-2:如何使用 Remi 存儲(chǔ)庫(kù)在 CentOS 6/7 上安裝 PHP 7
Remi 存儲(chǔ)庫(kù) 存儲(chǔ)和維護(hù)著最新版本的 PHP 軟件包,其中包含大量的庫(kù),擴(kuò)展和工具。 有一些是從 Fedora 和 EPEL 反向移植的。
這是 CentOS 社區(qū)認(rèn)可的存儲(chǔ)庫(kù),它不會(huì)修改或影響任何基礎(chǔ)軟件包。
作為前提條件,如果你的系統(tǒng)上尚未安裝 EPEL 存儲(chǔ)庫(kù),該操作會(huì)首先安裝它。
你可以輕松地從 Remi 存儲(chǔ)庫(kù)中找到可用的 PHP 7 軟件包版本,因?yàn)樗鼤?huì)為每個(gè)版本添加一個(gè)單獨(dú)的存儲(chǔ)庫(kù)。 你可以使用 ls 命令 查看它們:
- # ls -lh /etc/yum.repos.d/remi-php*
- -rw-r--r--. 1 root root 456 Sep 6 01:31 /etc/yum.repos.d/remi-php54.repo
- -rw-r--r--. 1 root root 1.3K Sep 6 01:31 /etc/yum.repos.d/remi-php70.repo
- -rw-r--r--. 1 root root 1.3K Sep 6 01:31 /etc/yum.repos.d/remi-php71.repo
- -rw-r--r--. 1 root root 1.3K Sep 6 01:31 /etc/yum.repos.d/remi-php72.repo
- -rw-r--r--. 1 root root 1.3K Sep 6 01:31 /etc/yum.repos.d/remi-php73.repo
- -rw-r--r--. 1 root root 1.3K Sep 6 01:31 /etc/yum.repos.d/remi-php74.repo
運(yùn)行以下命令,你可以輕松地從 Remi 存儲(chǔ)庫(kù)中把 PHP7.4 安裝到你的 CentOS 6/7 計(jì)算機(jī)上:
- # yum --disablerepo="*" --enablerepo="remi-php74" install php php-mcrypt php-cli php-gd php-curl php-mysql php-ldap php-zip php-fileinfo
方法-2a:如何使用 Remi 存儲(chǔ)庫(kù)在 RHEL 7 上安裝 PHP 7
對(duì)于 Red Hat 7,請(qǐng)安裝以下存儲(chǔ)庫(kù)以安裝最新的 PHP 7 軟件包。
在 RHEL 7 上安裝 EPEL 存儲(chǔ)庫(kù):
- # yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
在 RHEL 7 上安裝 Remi 存儲(chǔ)庫(kù):
- # yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm
啟用可選的 RPMS 存儲(chǔ)庫(kù):
- # subscription-manager repos --enable=rhel-7-server-optional-rpms
運(yùn)行以下命令,可以輕松地從 remi 存儲(chǔ)庫(kù)中,把 PHP 7.4 安裝在 RHEL 7 系統(tǒng)上:
- # yum --disablerepo="*" --enablerepo="remi-php74" install php php-mcrypt php-cli php-gd php-curl php-mysql php-ldap php-zip php-fileinfo
要驗(yàn)證 PHP 7 的安裝版本,請(qǐng)運(yùn)行以下命令:
- # php -v
- PHP 7.4.1 (cli) (built: Dec 17 2019 16:35:58) ( NTS )
- Copyright (c) The PHP Group
- Zend Engine v3.4.0, Copyright (c) Zend Technologies
方法-3:如何使用 IUS 社區(qū)存儲(chǔ)庫(kù)在 CentOS 6/7 上安裝 PHP 7
IUS 社區(qū)存儲(chǔ)庫(kù)是 CentOS 社區(qū)批準(zhǔn)的第三方 RPM 存儲(chǔ)庫(kù),其中包含 PHP、Python、MySQL 等軟件的最新上游版本,以及用于 Enterprise Linux(RHEL 和 CentOS)5、6 和 7 的軟件包。
IUS 社區(qū)存儲(chǔ)庫(kù) 與 EPEL 存儲(chǔ)庫(kù)具有依賴性,因此我們必須在安裝 IUS 存儲(chǔ)庫(kù)之前先安裝 EPEL 存儲(chǔ)庫(kù)。 請(qǐng)按照以下步驟將 EPEL 和 IUS 社區(qū)存儲(chǔ)庫(kù)安裝并啟用到 RPM 系統(tǒng),然后再安裝軟件包。
EPEL軟件包包含在 CentOS Extras 存儲(chǔ)庫(kù)中,并默認(rèn)啟用,因此,我們可以通過(guò)運(yùn)行以下命令來(lái)安裝它:
- # yum install epel-release
下載 IUS 社區(qū)存儲(chǔ)庫(kù)的 Shell 腳本如下:
- # curl 'https://setup.ius.io/' -o setup-ius.sh
- % Total % Received % Xferd Average Speed Time Time Time Current
- Dload Upload Total Spent Left Speed
- 100 1914 100 1914 0 0 6563 0 --:--:-- --:--:-- --:--:-- 13
安裝/啟用 IUS 社區(qū)存儲(chǔ)庫(kù):
- # sh setup-ius.sh
運(yùn)行如下命來(lái)檢查 IUS 存儲(chǔ)庫(kù)中可用的 PHP 7 版本:
- # yum --disablerepo="*" --enablerepo="ius" list *php7*
- Loaded plugins: fastestmirror, langpacks
- Loading mirror speeds from cached hostfile
- Available Packages
- mod_php71u.x86_64 7.1.33-1.el7.ius ius
- mod_php72u.x86_64 7.2.26-1.el7.ius ius
- mod_php73.x86_64 7.3.13-1.el7.ius ius
- php71u-bcmath.x86_64 7.1.33-1.el7.ius ius
- php71u-cli.x86_64 7.1.33-1.el7.ius ius
- php71u-common.x86_64 7.1.33-1.el7.ius ius
- php71u-dba.x86_64 7.1.33-1.el7.ius ius
- php71u-dbg.x86_64 7.1.33-1.el7.ius ius
- php71u-devel.x86_64 7.1.33-1.el7.ius ius
- php71u-embedded.x86_64 7.1.33-1.el7.ius ius
運(yùn)行以下命令你可以輕松地從 IUS 存儲(chǔ)庫(kù)中安裝 PHP 7.3 到你 CentOS 6/7 系統(tǒng)上:
- # yum --disablerepo="*" --enablerepo="ius" install php73-common php73-cli php73-gd php73-gd php73-mysqlnd php73-ldap php73-soap php73-mbstring