このブログは、PHP7.0で運営していたのですが、先日、PHP7.2にアップデートをしました。
今回の記事では、CentOS7環境でPHP7.0からPHP7.2(Apache2.4)へアップデートする方法について紹介します。
NginxのPHP7.0からPHP7.2のアップデートの方法は、下記のページを参照ください。
CentOS7環境のPHP7.0をPHP7.2にremiでアップグレードする(Nginx 1.12.2)について紹介しています。Nginxを使用していて、PHP7.0からPHP7.2にアップデートしようとしている人は参考にしてください。
環境
- CentOS 7.5.1804
- Apache 2.4
- PHP 7.0.30
現状把握
PHPの現在のバージョンの確認
$ php -v PHP 7.0.30 (cli) (built: Apr 24 2018 21:28:23) ( NTS ) Copyright (c) 1997-2017 The PHP Group Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies
インストールされているRPMパッケージの状態を確認しておきます。
# インストールされているRPMパッケージの状態を確認 $ rpm -qa | grep php # 実行結果 php-pecl-mysql-1.0.0-0.9.20151007git294ce3b.el7.remi.7.0.x86_64 php-gd-7.0.30-1.el7.remi.x86_64 php-7.0.30-1.el7.remi.x86_64 php-mbstring-7.0.30-1.el7.remi.x86_64 php-common-7.0.30-1.el7.remi.x86_64 php-pdo-7.0.30-1.el7.remi.x86_64 php-pecl-zip-1.15.3-1.el7.remi.7.0.x86_64 php-fpm-7.0.30-1.el7.remi.x86_64 php-json-7.0.30-1.el7.remi.x86_64 php70-php-json-7.0.30-1.el7.remi.x86_64 php-devel-7.0.30-1.el7.remi.x86_64 php-mysqlnd-7.0.30-1.el7.remi.x86_64 php-cli-7.0.30-1.el7.remi.x86_64 php-xml-7.0.30-1.el7.remi.x86_64 php70-runtime-1.0-5.el7.remi.x86_64 php70-php-xml-7.0.30-1.el7.remi.x86_64 php70-php-common-7.0.30-1.el7.remi.x86_64
PHP7.0.30のバージョンが入っていることが確認できます。
次に、導入しているremiリポジトリに7.2があるか確認します。
$ ll /etc/yum.repos.d/ | grep remi- -rw-r--r-- 1 root root 446 6月 19 17:28 remi-glpi91.repo -rw-r--r-- 1 root root 446 6月 19 17:28 remi-glpi92.repo -rw-r--r-- 1 root root 446 6月 19 17:28 remi-glpi93.repo -rw-r--r-- 1 root root 456 6月 19 17:28 remi-php54.repo -rw-r--r-- 1 root root 1316 1月 16 21:28 remi-php70.repo -rw-r--r-- 1 root root 1314 1月 16 16:06 remi-php70.repo.rpmnew -rw-r--r-- 1 root root 1314 6月 19 17:28 remi-php71.repo -rw-r--r-- 1 root root 1314 6月 19 17:28 remi-php72.repo -rw-r--r-- 1 root root 1314 6月 19 17:28 remi-php73.repo -rw-r--r-- 1 root root 750 6月 19 17:28 remi-safe.repo
7.2のリポジトリが無い場合はremiリポジトリをアップデートしてください。
PHPの削除
現在、インストールされているPHPを削除します。
$ yum remove php-*
PHP 7.2のインストール
まず、導入出来るPHPの詳細を確認します。
$ yum info --enablerepo=remi,remi-php72 php 読み込んだプラグイン:fastestmirror, langpacks Repository nodesource is listed more than once in the configuration Repository nodesource-source is listed more than once in the configuration Loading mirror speeds from cached hostfile * base: ftp.iij.ad.jp * extras: ftp.iij.ad.jp * remi: ftp.riken.jp * remi-php70: ftp.riken.jp * remi-php72: ftp.riken.jp * remi-safe: ftp.riken.jp * updates: ftp.iij.ad.jp remi | 2.9 kB 00:00 remi-php72 | 2.9 kB 00:00 (1/2): remi-php72/primary_db | 192 kB 00:00 (2/2): remi/primary_db | 2.1 MB 00:00 利用可能なパッケージ 名前 : php アーキテクチャー : x86_64 バージョン : 7.2.7 リリース : 1.el7.remi 容量 : 3.2 M リポジトリー : remi-php72 要約 : PHP scripting language for creating dynamic web sites URL : http://www.php.net/ ライセンス : PHP and Zend and BSD and MIT and ASL 1.0 説明 : PHP is an HTML-embedded scripting language. PHP attempts : to make it easy for developers to write dynamically : generated web pages. PHP also offers built-in database : integration for several commercial and non-commercial : database management systems, so writing a database-enabled : webpage with PHP is fairly simple. The most common use of : PHP coding is probably as a replacement for CGI scripts. : : The php package contains the module (often referred to as : mod_php) which adds support for the PHP language to Apache : HTTP Server.
PHP7.2のインストール
yum install --enablerepo=remi,remi-php72 php
上記のコマンドでこの
エラー: パッケージ: php-7.2.9-1.el7.remi.x86_64 (remi-php72)
要求: libargon2.so.0()(64bit)
ようなエラーが出る場合は、「epel」リポジトリを追加してコマンドを打ってください。下記に例を示します。
エラー: パッケージ: php-7.2.9-1.el7.remi.x86_64 (remi-php72)
要求: libargon2.so.0()(64bit)
ようなエラーが出る場合は、「epel」リポジトリを追加してコマンドを打ってください。下記に例を示します。
yum install --enablerepo=epel,remi,remi-php72 php
PHPアップデート後のバージョンの確認
$ php -v PHP 7.2.7 (cli) (built: Jun 20 2018 08:21:26) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.7, Copyright (c) 1999-2018, by Zend Technologies with Xdebug v2.6.0, Copyright (c) 2002-2018, by Derick Rethans
PHP7.2がインストールされました。
PHPの拡張機能のインストール
$ yum -y install --enablerepo=remi --enablerepo=remi-php72 php php-opcache php-devel php-mbstring php-mysqlnd php-phpunit-PHPUnit php-pecl-xdebug php-gd php-intl php-symfony php php-pdo php-xml php-tokenizer php-pear php-zip
インストールされているRPMパッケージの状態を確認しておきます。
$ rpm -qa | grep php
PHP7.2関連のパッケージがインストールされていることが確認できると思います。
Apacheの再起動
$ service restart httpd
PHPを7.0から7.2へアップデートをしました。
Laravel5.6などを使用する際には、システム要件が、PHP7.1.3以上だったりするので、PHP7.2にアップデートすることがある方もいると思います。
そのような際には、是非参考にしてください。