PHP7.0インストール

CentOS 7は標準のリポジトリからはPHP5がインストールされますが、WordPress高速化の一環としてPHP7をインストールしてみました。

PHP7をインストールする前に、EPELとRemiリポジトリを追加します。

# yum -y install epel-release
(略)
インストール:
epel-release.noarch 0:7-6
完了しました!

# wget http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
–2016-07-08 15:03:36– http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
rpms.famillecollet.com (rpms.famillecollet.com) をDNSに問いあわせています… 195.154.241.117, 2001:bc8:33a1:100::1
rpms.famillecollet.com (rpms.famillecollet.com)|195.154.241.117|:80 に接続しています… 接続しました。
HTTP による接続要求を送信しました、応答を待っています… 200 OK
長さ: 8147 (8.0K) [application/x-rpm]
`remi-release-7.rpm’ に保存中
100%[================================================>] 8,147 –.-K/s 時間 0s
2016-07-08 15:03:36 (113 MB/s) – `remi-release-7.rpm’ へ保存完了 [8147/8147]

# rpm -ivh ./remi-release-7.rpm
警告: ./remi-release-7.rpm: ヘッダー V4 DSA/SHA1 Signature、鍵 ID 00f97f56: NOKEY
準備しています… ################################# [100%]
更新中 / インストール中…
1:remi-release-7.2-1.el7.remi ################################# [100%]

# ls -laF /etc/yum.repos.d/
合計 84
drwxr-xr-x. 2 root root 4096 7月 8 15:03 ./
drwxr-xr-x. 102 root root 8192 7月 8 14:55 ../
-rw-r–r–. 1 root root 1697 7月 4 19:35 CentOS-Base.repo
-rw-r–r–. 1 root root 1309 12月 9 2015 CentOS-CR.repo
-rw-r–r–. 1 root root 649 12月 9 2015 CentOS-Debuginfo.repo
-rw-r–r–. 1 root root 630 12月 9 2015 CentOS-Media.repo
-rw-r–r–. 1 root root 1331 12月 9 2015 CentOS-Sources.repo
-rw-r–r–. 1 root root 1952 12月 9 2015 CentOS-Vault.repo
-rw-r–r–. 1 root root 290 12月 9 2015 CentOS-fasttrack.repo
-rw-r–r– 1 root root 1056 3月 31 13:05 epel-testing.repo
-rw-r–r– 1 root root 957 3月 31 13:05 epel.repo
-rw-r–r–. 1 root root 739 6月 12 2014 mirrors-rpmforge
-rw-r–r–. 1 root root 717 6月 12 2014 mirrors-rpmforge-extras
-rw-r–r–. 1 root root 728 6月 12 2014 mirrors-rpmforge-testing
-rw-r–r– 1 root root 1177 6月 30 21:25 remi-php70.repo
-rw-r–r– 1 root root 1177 6月 30 21:25 remi-php71.repo
-rw-r–r– 1 root root 449 6月 30 21:25 remi-safe.repo
-rw-r–r– 1 root root 2340 6月 30 21:25 remi.repo
-rw-r–r–. 1 root root 1128 6月 12 2014 rpmforge.repo

EPELとRemiのリポジトリが追加されました。続いてインストール済みのPHPを削除します。

# yum list installed |grep php
php.x86_64 5.4.16-36.1.el7_2.1 @updates
php-cli.x86_64 5.4.16-36.1.el7_2.1 @updates
php-common.x86_64 5.4.16-36.1.el7_2.1 @updates
php-devel.x86_64 5.4.16-36.1.el7_2.1 @updates
php-fpm.x86_64 5.4.16-36.1.el7_2.1 @updates
php-gd.x86_64 5.4.16-36.1.el7_2.1 @updates
php-mbstring.x86_64 5.4.16-36.1.el7_2.1 @updates
php-mysql.x86_64 5.4.16-36.1.el7_2.1 @updates
php-pdo.x86_64 5.4.16-36.1.el7_2.1 @updates
php-pear.noarch 1:1.9.4-21.el7 @base
php-process.x86_64 5.4.16-36.1.el7_2.1 @updates
php-xml.x86_64 5.4.16-36.1.el7_2.1 @updates

# yum -y remove php*
読み込んだプラグイン:fastestmirror, langpacks, priorities
依存性の解決をしています
–> トランザクションの確認を実行しています。
—> パッケージ php.x86_64 0:5.4.16-36.1.el7_2.1 を 削除
—> パッケージ php-cli.x86_64 0:5.4.16-36.1.el7_2.1 を 削除
—> パッケージ php-common.x86_64 0:5.4.16-36.1.el7_2.1 を 削除
—> パッケージ php-devel.x86_64 0:5.4.16-36.1.el7_2.1 を 削除
—> パッケージ php-fpm.x86_64 0:5.4.16-36.1.el7_2.1 を 削除
—> パッケージ php-gd.x86_64 0:5.4.16-36.1.el7_2.1 を 削除
—> パッケージ php-mbstring.x86_64 0:5.4.16-36.1.el7_2.1 を 削除
—> パッケージ php-mysql.x86_64 0:5.4.16-36.1.el7_2.1 を 削除
—> パッケージ php-pdo.x86_64 0:5.4.16-36.1.el7_2.1 を 削除
—> パッケージ php-pear.noarch 1:1.9.4-21.el7 を 削除
—> パッケージ php-process.x86_64 0:5.4.16-36.1.el7_2.1 を 削除
—> パッケージ php-xml.x86_64 0:5.4.16-36.1.el7_2.1 を 削除
–> 依存性解決を終了しました。
 :
(略)
 :
削除しました:
 :
(略)
 :
完了しました!

PHP5.4の削除が完了したら、先ほど追加したRemiリポジトリからPHP7.0をインストールします。

# yum –enablerepo=remi,remi-php70 install php php-mysqlnd php-gd php-xml php-xmlrpc php-mbstring php-mcrypt php-fpm php-opcache php-apcu -y
読み込んだプラグイン:fastestmirror, langpacks, priorities
remi | 2.9 kB 00:00:00
remi-php70 | 2.9 kB 00:00:00
(1/2): remi-php70/primary_db | 140 kB 00:00:02
(2/2): remi/primary_db | 1.4 MB 00:00:05
Loading mirror speeds from cached hostfile
* base: ftp.iij.ad.jp
* epel: ftp.iij.ad.jp
* extras: ftp.iij.ad.jp
* remi: mirror.innosol.asia
* remi-php70: mirror.innosol.asia
* remi-safe: mirror.innosol.asia
* rpmforge: ftp.riken.jp
* updates: ftp.iij.ad.jp
253 packages excluded due to repository priority protections
依存性の解決をしています
 :
(略)
 :
インストール:
php70.x86_64 0:1.0-5.el7.remi

依存性関連をインストールしました:
 :
(略)
 :
完了しました!

# php -v
Cannot load Zend OPcache – it was already loaded
PHP Warning: Module ‘apc’ already loaded in Unknown on line 0
PHP Warning: Module ‘apcu’ already loaded in Unknown on line 0
PHP 7.0.8 (cli) (built: Jun 22 2016 11:57:34) ( NTS )
Copyright (c) 1997-2016 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2016 Zend Technologies
with Zend OPcache v7.0.8, Copyright (c) 1999-2016, by Zend Technologies

最後にRemiリポジトリファイルを書き換えます。

# vi /etc/yum.repos.d/remi-php70.repo
※[remi-php70]の直下に“priority=1”を追記

無事PHP7.0になりました。CentOS 8(RHEL 8)ではデフォルトでPHP7になっているといいですねぇ。

%d人のブロガーが「いいね」をつけました。