在 CentOS/RHEL 7/6 上安裝最新 PHP 7 軟件包的 3 種方法
在默認情況下,CentOS/RHEL 6 操作系統(tǒng)在其官方存儲庫中提供 PHP 5.3,而 CentOS/RHEL 7 則提供 PHP 5.4。
在本文中,我們將向你展示如何在 CentOS/RHEL 7 和 CentOS/RHEL 6 系統(tǒng)上安裝最新版本的 PHP。
這可以通過在系統(tǒng)中添加必要的 附加第三方 RPM 存儲庫 來完成。
方法-1:如何使用軟件集合存儲庫(SCL)在 CentOS 6/7 上安裝 PHP 7
現在,SCL 存儲庫由 CentOS SIG 維護,該組織不僅重新構建了 Red Hat Software Collections,還提供了自己的一些其他軟件包。
它包含各種程序的較新版本,這些程序可以與現有的舊軟件包一起安裝,并可以使用 scl 命令調用。
要想在 CentOS 上安裝軟件集合存儲庫(SCL),請運行以下 yum 命令
- # yum install centos-release-scl
運行以下命令可以驗證 SCL 存儲庫中可用的 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
運行以下命令可以從 SCL 中安裝 PHP 7.2 到你的系統(tǒng)中:
- # yum --disablerepo="*" --enablerepo="centos-sclo-rh" install rh-php72-php
如果需要為 PHP 7.2 安裝其他模塊,則可以通過運行以下命令格式來安裝它們。 例如,你可以通過執(zhí)行以下命令來安裝 gd 和 pdo 軟件包:
- # yum --disablerepo="*" --enablerepo="centos-sclo-rh" install rh-php72-php-gd rh-php72-php-pdo
方法-1a:如何使用軟件集合存儲庫(SCL)在 RHEL 7 上安裝 PHP 7
對于 Red Hat 7,啟用以下存儲庫以安裝最新的 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
運行以下命令從 RHSCL 庫中搜索可用的 PHP 7 版本:
- # yum search rh-php*
運行以下命令,你可以輕松地從 RHSCL 存儲庫中把 PHP7.3 安裝到你的 RHEL 7 計算機上:
- # yum install rh-php73
方法-2:如何使用 Remi 存儲庫在 CentOS 6/7 上安裝 PHP 7
Remi 存儲庫 存儲和維護著最新版本的 PHP 軟件包,其中包含大量的庫,擴展和工具。 有一些是從 Fedora 和 EPEL 反向移植的。
這是 CentOS 社區(qū)認可的存儲庫,它不會修改或影響任何基礎軟件包。
作為前提條件,如果你的系統(tǒng)上尚未安裝 EPEL 存儲庫,該操作會首先安裝它。
你可以輕松地從 Remi 存儲庫中找到可用的 PHP 7 軟件包版本,因為它會為每個版本添加一個單獨的存儲庫。 你可以使用 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
運行以下命令,你可以輕松地從 Remi 存儲庫中把 PHP7.4 安裝到你的 CentOS 6/7 計算機上:
- # 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 存儲庫在 RHEL 7 上安裝 PHP 7
對于 Red Hat 7,請安裝以下存儲庫以安裝最新的 PHP 7 軟件包。
在 RHEL 7 上安裝 EPEL 存儲庫:
- # yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
在 RHEL 7 上安裝 Remi 存儲庫:
- # yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm
啟用可選的 RPMS 存儲庫:
- # subscription-manager repos --enable=rhel-7-server-optional-rpms
運行以下命令,可以輕松地從 remi 存儲庫中,把 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
要驗證 PHP 7 的安裝版本,請運行以下命令:
- # 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ū)存儲庫在 CentOS 6/7 上安裝 PHP 7
IUS 社區(qū)存儲庫是 CentOS 社區(qū)批準的第三方 RPM 存儲庫,其中包含 PHP、Python、MySQL 等軟件的最新上游版本,以及用于 Enterprise Linux(RHEL 和 CentOS)5、6 和 7 的軟件包。
IUS 社區(qū)存儲庫 與 EPEL 存儲庫具有依賴性,因此我們必須在安裝 IUS 存儲庫之前先安裝 EPEL 存儲庫。 請按照以下步驟將 EPEL 和 IUS 社區(qū)存儲庫安裝并啟用到 RPM 系統(tǒng),然后再安裝軟件包。
EPEL軟件包包含在 CentOS Extras 存儲庫中,并默認啟用,因此,我們可以通過運行以下命令來安裝它:
- # yum install epel-release
下載 IUS 社區(qū)存儲庫的 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ū)存儲庫:
- # sh setup-ius.sh
運行如下命來檢查 IUS 存儲庫中可用的 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
運行以下命令你可以輕松地從 IUS 存儲庫中安裝 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