【CentOS6】PHP5.6からPHP7.0にYUM経由でUpdate

php_56_to_70PHP7.0がリリースされたので、さっそく仮想環境で試してみたときの覚書。

環境: CentOS 6.7, PHP 5.6

YUMのPHP7チャンネルを有効にする。remiリポジトリの追加方法は前の記事を参考に。
# less /etc/yum.repos.d/remi-php70.repo

[remi-php70]
enabled=1

これでアップデート実行
# yum update

エラー

Error: Package: php-pecl-redis-2.2.7-1.el6.remi.5.6.x86_64 (@remi-php56)
           Requires: php(zend-abi) = 20131226-64
           Removing: php-common-5.6.16-1.el6.remi.x86_64 (@remi-php56)
               php(zend-abi) = 20131226-64
           Updated By: php-common-7.0.1-1.el6.remi.x86_64 (remi-php70)
               php(zend-abi) = 20151012-64
           Available: php-common-5.3.3-40.el6_6.x86_64 (base)
               php(zend-abi) = 20090626
           Available: php-common-5.3.3-46.el6_6.x86_64 (updates)
               php(zend-abi) = 20090626
           Available: php-common-5.4.45-1.el6.remi.x86_64 (remi)
               php(zend-abi) = 20100525-x86-64
           Available: php-common-5.4.45-2.el6.remi.x86_64 (remi)
               php(zend-abi) = 20100525-x86-64
           Available: php-common-5.6.15-1.el6.remi.x86_64 (remi-php56)
               php(zend-abi) = 20131226-64
           Available: php-common-7.0.0-3.el6.remi.x86_64 (remi-php70)
               php(zend-abi) = 20151012-64

エラーになったパッケージを削除
# yum remove php-pecl-memcache php-pecl-redis php-pecl-igbinary php-pecl-mongo

再挑戦
# yum update

Warningがいくつか

Failed loading /usr/lib64/php/modules/xdebug.so

Failed loadingになったモジュールは削除して、あとで必要になったら考える。

インストールされた一覧
# rpm -qa | grep php

削除
# yum remove php-mcrypt php-pecl-zip php-xml

PHP-FPMの実行権限を変更しているのでセッション書き込みディレクトリの権限を変更
# chown nginx.www -R /var/lib/php/

念のため再起動
# reboot

PHPバージョン
# php --version

PHP 7.0.1 (cli) (built: Dec 16 2015 15:31:55) ( NTS )
Copyright (c) 1997-2015 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2015 Zend Technologies

WordPressのいくつかのプラグインがDeprecatedを吐くけど、問題なさそうなので本番環境でも移行予定。

phpMyAdminもPHP7に対応済みなので最新にアップデートした方がいい。

 

< Related Posts >