トップページへ

CentOS 6にPHP7.3をインストールする方法

小粋空間 » Linux » CentOS 6にPHP7.3をインストールする方法

CentOS 6にPHP7.3をインストールする方法を紹介します。

1.問題点

CentOS 6にyumでPHPをインストールすると、7.3のremiリポジトリを指定しても、5.3.3という古いバージョンがインストールされてしまいます(下記)。

# yum install --skip-broken --enablerepo=remi-php73 php php-cli php-common php-devel php-gd php-mbstring php-mcrypt php-mysqlnd php-pdo php-pear php-pecl-jsonc php-pecl-jsonc-devel php-process php-xml
Loaded plugins: fastestmirror, priorities, security
Setting up Install Process
Loading mirror speeds from cached hostfile
 * epel: ftp.iij.ad.jp
 * remi-php73: ftp.riken.jp
 * remi-safe: ftp.riken.jp
245 packages excluded due to repository priority protections
Package php-mcrypt is obsoleted by php-pecl-mcrypt, trying to install php-pecl-mcrypt-1.0.3-1.el6.remi.7.3.x86_64 instead
No package php-pecl-jsonc available.
No package php-pecl-jsonc-devel available.
Resolving Dependencies
--> Running transaction check
---> Package php.x86_64 0:5.3.3-50.el6_10 will be installed
---> Package php-cli.x86_64 0:5.3.3-50.el6_10 will be installed
---> Package php-common.x86_64 0:5.3.3-50.el6_10 will be installed
 :
---> Package php-process.x86_64 0:5.3.3-50.el6_10 will be installed
---> Package php-xml.x86_64 0:5.3.3-50.el6_10 will be installed
--> Finished Dependency Resolution
 
Packages skipped because of dependency problems:
    php-mysqlnd-7.3.25-1.el6.remi.x86_64 from remi-php73
    php-pecl-mcrypt-1.0.3-1.el6.remi.7.3.x86_64 from remi-php73
 
Dependencies Resolved
 
===============================================================================================================================================================================
 Package                                     Arch                               Version                                           Repository                              Size
===============================================================================================================================================================================
Installing:
 php                                         x86_64                             5.3.3-50.el6_10                                   updates                                1.1 M
 php-cli                                     x86_64                             5.3.3-50.el6_10                                   updates                                2.2 M
 php-common                                  x86_64                             5.3.3-50.el6_10                                   updates                                530 k
 php-devel                                   x86_64                             5.3.3-50.el6_10                                   updates                                513 k
 php-gd                                      x86_64                             5.3.3-50.el6_10                                   updates                                112 k
 php-mbstring                                x86_64                             5.3.3-50.el6_10                                   updates                                460 k
 php-pdo                                     x86_64                             5.3.3-50.el6_10                                   updates                                 80 k
 php-pear                                    noarch                             1:1.9.4-5.el6                                     base                                   393 k
 php-process                                 x86_64                             5.3.3-50.el6_10                                   updates                                 44 k
 php-xml                                     x86_64                             5.3.3-50.el6_10                                   updates                                108 k
Skipped (dependency problems):
 php-mysqlnd                                 x86_64                             7.3.25-1.el6.remi                                 remi-php73                             216 k
 php-pecl-mcrypt                             x86_64                             1.0.3-1.el6.remi.7.3                              remi-php73                              27 k
 
Transaction Summary
===============================================================================================================================================================================
Install      10 Package(s)
(後略)

ということで、CentOS 6にPHP7.3をインストールする方法を紹介します。

以下のサンプルはrootユーザーで実行しています。そうでない場合、suでroot権限実行するよう、適宜変更してください。

なお、CentOS 6はサポートが2020年11月30日に終了しているので、後述のyum installで下記のエラーが発生する場合、

Loaded plugins: fastestmirror, priorities, security
Determining fastest mirrors
YumRepo Error: All mirror URLs are not using ftp, http[s] or file.
 Eg. Invalid release/repo/arch combination/
removing mirrorlist with no valid mirrors: /var/cache/yum/x86_64/6/base/mirrorlist.txt

リポジトリリスト (/etc/yum.repos.d/CentOS-Base.repo) のURLを、パッケージが公開されているvault.centos.orgへ変更してください。

# sed -i -e "s/^mirrorlist=http:\/\/mirrorlist.centos.org/#mirrorlist=http:\/\/mirrorlist.centos.org/g" /etc/yum.repos.d/CentOS-Base.repo
# sed -i -e "s/^#baseurl=http:\/\/mirror.centos.org/baseurl=http:\/\/vault.centos.org/g" /etc/yum.repos.d/CentOS-Base.repo

2.CentOS 6にPHP7.3をインストールする

CentOSを最新化します(少し時間がかかります)。

# yum update

完了後、サーバを再起動。

# shutdown -r now

現在のPHPパッケージをアンインストールします。

PHPのパッケージをアンインストールするのは「yum remove php*」「yum remove php-*」です。

# yum remove php*
 : 
Removed:
  php.x86_64 0:5.3.3-50.el6_10                php-cli.x86_64 0:5.3.3-50.el6_10             php-common.x86_64 0:5.3.3-50.el6_10        php-devel.x86_64 0:5.3.3-50.el6_10
  php-gd.x86_64 0:5.3.3-50.el6_10             php-mbstring.x86_64 0:5.3.3-50.el6_10        php-pdo.x86_64 0:5.3.3-50.el6_10           php-pear.noarch 1:1.9.4-5.el6
  php-process.x86_64 0:5.3.3-50.el6_10        php-xml.x86_64 0:5.3.3-50.el6_10
 
Complete!
# yum remove php-*
 : 
Removed:
  php-bcmath.x86_64 0:5.3.3-50.el6_10    php-common.x86_64 0:5.3.3-50.el6_10   php-fedora-autoloader.noarch 0:1.0.1-2.el6  php-gd.x86_64 0:5.3.3-50.el6_10
  php-mbstring.x86_64 0:5.3.3-50.el6_10  php-mcrypt.x86_64 0:5.3.3-5.el6       php-mysql.x86_64 0:5.3.3-50.el6_10          php-pdo.x86_64 0:5.3.3-50.el6_10
  php-php-gettext.noarch 0:1.0.12-1.el6  php-process.x86_64 0:5.3.3-50.el6_10  php-tcpdf.noarch 0:6.2.26-1.el6             php-tcpdf-dejavu-sans-fonts.noarch 0:6.2.26-1.el6
  php-tidy.x86_64 0:5.3.3-50.el6_10      php-xml.x86_64 0:5.3.3-50.el6_10
 
Complete!

PHPのインストールの前に、CentOS 6用のremiリポジトリを取得するか確認します。

# ls -l /etc/yum.repos.d/
total 28
-rw-r--r--  1 root root 1981 Jan 11  2013 CentOS-Base.repo
-rw-r--r--. 1 root root  637 Jun 26  2012 CentOS-Debuginfo.repo
-rw-r--r--. 1 root root  626 Jun 26  2012 CentOS-Media.repo
-rw-r--r--. 1 root root 2593 Jun 26  2012 CentOS-Vault.repo
-rw-r--r--  1 root root 1056 Nov  5  2012 epel-testing.repo
-rw-r--r--  1 root root  957 Nov  5  2012 epel.repo
-rw-r--r--  1 root root  644 Jan 11  2013 remi.repo

remi-phpXX.repoがない場合、下記を実施。

# rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
Retrieving http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
Preparing...                ########################################### [100%]
   1:remi-release           ########################################### [100%]

これでCentOS 6用のremiリポジトリが追加されました。

# ls -l /etc/yum.repos.d/
total 72
-rw-r--r--  1 root root 1981 Jan 11  2013 CentOS-Base.repo
-rw-r--r--. 1 root root  637 Jun 26  2012 CentOS-Debuginfo.repo
-rw-r--r--. 1 root root  626 Jun 26  2012 CentOS-Media.repo
-rw-r--r--. 1 root root 2593 Jun 26  2012 CentOS-Vault.repo
-rw-r--r--  1 root root 1056 Nov  5  2012 epel-testing.repo
-rw-r--r--  1 root root  957 Nov  5  2012 epel.repo
-rw-r--r--  1 root root  446 Feb 18  2020 remi-glpi91.repo
-rw-r--r--  1 root root  446 Feb 18  2020 remi-glpi92.repo
-rw-r--r--  1 root root  446 Feb 18  2020 remi-glpi93.repo
-rw-r--r--  1 root root  446 Feb 18  2020 remi-glpi94.repo
-rw-r--r--  1 root root  456 Feb 18  2020 remi-php54.repo
-rw-r--r--  1 root root 1314 Feb 18  2020 remi-php70.repo
-rw-r--r--  1 root root 1314 Feb 18  2020 remi-php71.repo
-rw-r--r--  1 root root 1314 Feb 18  2020 remi-php72.repo
-rw-r--r--  1 root root 1314 Feb 18  2020 remi-php73.repo
-rw-r--r--  1 root root  750 Feb 18  2020 remi-safe.repo
-rw-r--r--  1 root root  644 Jan 11  2013 remi.repo
-rw-r--r--  1 root root 2605 Feb 18  2020 remi.repo.rpmnew

"remi-php73.repo"があるので、PHPは7.3までいれられそうです。

次に、PHP7.3のphp-mbstringをインストールします。何回かに分割していますが、以降のパッケージをまとめてインストールできるかもしれません。

# yum install --disablerepo=* --enablerepo=epel,remi,remi-safe,remi-php73 php-mbstring
 :
Installed:
  php-mbstring.x86_64 0:7.3.25-1.el6.remi
 
Dependency Installed:
  oniguruma5php.x86_64 0:6.9.6-1.el6.remi                     php-common.x86_64 0:7.3.25-1.el6.remi                     php-json.x86_64 0:7.3.25-1.el6.remi
 
Complete!

次に、php-mysqlnd、php-pdo、php-gdをインストールします。

# yum install --disablerepo=* --enablerepo=epel,remi,remi-safe,remi-php73 php-mysqlnd php-pdo php-gd
 :
Installed:
  php-gd.x86_64 0:7.3.25-1.el6.remi                       php-mysqlnd.x86_64 0:7.3.25-1.el6.remi                       php-pdo.x86_64 0:7.3.25-1.el6.remi
 
Dependency Installed:
  gd-last.x86_64 0:2.3.0-2.el6.remi                                                        libwebp.x86_64 0:0.4.3-3.el6
 
Complete!

php-develをインストールします。

# yum install --enablerepo=epel,remi,remi-safe,remi-php73 php-devel
 :
Installed:
  php-devel.x86_64 0:7.3.25-1.el6.remi
 
Dependency Installed:
  keyutils-libs-devel.x86_64 0:1.4-5.el6                 krb5-devel.x86_64 0:1.10.3-65.el6                            libargon2-devel.x86_64 0:20161029-7.el6.remi
  libcom_err-devel.x86_64 0:1.41.12-24.el6               libedit-devel.x86_64 0:2.11-4.20080712cvs.1.el6              libkadm5.x86_64 0:1.10.3-65.el6
  libselinux-devel.x86_64 0:2.0.94-7.el6                 libsepol-devel.x86_64 0:2.0.41-4.el6                         libxml2-devel.x86_64 0:2.7.6-21.el6_8.1
  ncurses-devel.x86_64 0:5.7-4.20090207.el6              openssl-devel.x86_64 0:1.0.1e-58.el6_10                      php-cli.x86_64 0:7.3.25-1.el6.remi
  zlib-devel.x86_64 0:1.2.3-29.el6
 
Complete!

最後にphpをインストールします。

# yum install --disablerepo=* --enablerepo=epel,remi,remi-safe,remi-php73 php
 :
Installed:
  php.x86_64 0:7.3.25-1.el6.remi
 
Complete!

3.参考サイト

参考サイトは下記です。ありがとうございました。

【Web】さくらVPSのPHPを7.1→7.3にバージョンアップする
さくらVPSのPHPを5.5から7.3にアップデートしました
さくらVPSでPHPをアップデートする
CentOS 6 で "YumRepo Error: All mirror URLs are not using ftp, http[s] or file."

« 前の記事へ

次の記事へ »

トップページへ