WordPressの動作環境があがっていたのでPHPを5.5→5.6へアップデートした

Pocket

いつの間にかWordPress日本語版の動作環境がPHP5.6以上になっていたのでPHPのバージョンを5.5から5.6へと上げてみました.

ということで今回はPHP5.5からPHP5.6へのアップデートの話です.

Ads

現在のPHPのバージョン

PHPのバージョンはコンソールから「php -v」と入力すると確認できます.

# php -v
PHP 5.5.30 (cli) (built: Oct  1 2015 09:29:18)
Copyright (c) 1997-2015 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2015 Zend Technologies
    with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2015, by Zend Technologies

PHPは5.5.30のようです.

また,「php info php」で見ると,

インストール済みパッケージ
名前                : php
アーキテクチャ      : x86_64
バージョン          : 5.5.30
リリース            : 1.el6.remi
容量                : 9.0 M
リポジトリー        : installed
提供元リポジトリー  : remi-php55
要約                : PHP scripting language for creating dynamic web sites
URL                 : http://www.php.net/
ライセンス          : PHP and Zend and BSD
説明                : 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.

となり,remi-php55レポジトリを使用していることがわかります.

remi-php55でインストールされているソフトを調べる

「remi-php55」でインストールされているソフトは「yum list installed |grep remi-php55」で確認できます.

# yum list installed |grep remi-php55
php.x86_64                          5.5.30-1.el6.remi                @remi-php55
php-bcmath.x86_64                   5.5.30-1.el6.remi                @remi-php55
php-cli.x86_64                      5.5.30-1.el6.remi                @remi-php55
php-common.x86_64                   5.5.30-1.el6.remi                @remi-php55
php-devel.x86_64                    5.5.30-1.el6.remi                @remi-php55
php-fpm.x86_64                      5.5.30-1.el6.remi                @remi-php55
php-gd.x86_64                       5.5.30-1.el6.remi                @remi-php55
php-gmp.x86_64                      5.5.30-1.el6.remi                @remi-php55
php-mbstring.x86_64                 5.5.30-1.el6.remi                @remi-php55
php-mcrypt.x86_64                   5.5.30-1.el6.remi                @remi-php55
php-mysqlnd.x86_64                  5.5.30-1.el6.remi                @remi-php55
php-opcache.x86_64                  5.5.30-1.el6.remi                @remi-php55
php-pdo.x86_64                      5.5.30-1.el6.remi                @remi-php55
php-pecl-jsonc.x86_64               1.3.9-1.el6.remi.5.5             @remi-php55
php-pecl-jsonc-devel.x86_64         1.3.9-1.el6.remi.5.5             @remi-php55
php-pecl-xdebug.x86_64              2.3.3-1.el6.remi.5.5             @remi-php55
php-pecl-zip.x86_64                 1.13.1-1.el6.remi.5.5            @remi-php55
php-process.x86_64                  5.5.30-1.el6.remi                @remi-php55
php-recode.x86_64                   5.5.30-1.el6.remi                @remi-php55
php-soap.x86_64                     5.5.30-1.el6.remi                @remi-php55
php-tidy.x86_64                     5.5.30-1.el6.remi                @remi-php55
php-xml.x86_64                      5.5.30-1.el6.remi                @remi-php55

ということで22種類.これをremi-php55からremi-php56へと更新します.それぞれの.x86_64から行末までを削除し,次のように整理します.

php php-bcmath php-cli php-common php-devel php-fpm php-gd php-gmp php-mbstring php-mcrypt php-mysqlnd php-opcache php-pdo php-pecl-jsonc php-pecl-jsonc-devel php-pecl-xdebug php-pecl-zip php-process php-recode php-soap php-tidy php-xml

remiレポジトリの登録

まずはremiレポジトリの確認.PHP5.5をインストールする時点でremiレポジトリが入っているはずですが,最初からインストールする人もいるかもれませんのでここに書いておきます.

# rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm

で登録できます.remiレポジトリが使えるようになると,

yum install --enablerepo=remi ソフトウェア名

でインストールできます.今回は「remi-php56」を使用するので,

yum install --enablerepo=remi-php56 ソフトウェア名

となります.私の場合22種類のソフトウェアをremi-php56でインストールしたいので,

yum install --enablerepo=remi-php56 php php-bcmath php-cli php-common php-devel php-fpm php-gd php-gmp php-mbstring php-mcrypt php-mysqlnd php-opcache php-pdo php-pecl-jsonc php-pecl-jsonc-devel php-pecl-xdebug php-pecl-zip php-process php-recode php-soap php-tidy php-xml

となります.今回はremi-php55からの上書きアップデートでした.

PHP5.6への更新

というわけで,PHP5.6へと上げてみました.

 # php -v
PHP 5.6.15 (cli) (built: Oct 29 2015 14:27:23)
Copyright (c) 1997-2015 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2015 Zend Technologies
    with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2015, by Zend Technologies
    with Xdebug v2.3.3, Copyright (c) 2002-2015, by Derick Rethans

「with Xdebug」がついていました.これを使用しないためには,/etc/php.d/15-xdebug.iniを開いて

; Enable xdebug extension module
;zend_extension=xdebug.so

; see http://xdebug.org/docs/all_settings

のように2行目をコメントアウトしておいてからphpの再起動を行います.といっても後述しますがphp-fpmは停止しているらしく,

service php-fpm start

で起動します.すると,「php -v」の値はこうなります.

#php -v
PHP 5.6.15 (cli) (built: Oct 29 2015 14:27:23)
Copyright (c) 1997-2015 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2015 Zend Technologies
    with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2015, by Zend Technologies

remi-php56レポジトリでインストールされているかは,次のようにして確認します.

# yum list installed |grep remi-php56
php.x86_64                          5.6.15-1.el6.remi                @remi-php56
php-bcmath.x86_64                   5.6.15-1.el6.remi                @remi-php56
php-cli.x86_64                      5.6.15-1.el6.remi                @remi-php56
php-common.x86_64                   5.6.15-1.el6.remi                @remi-php56
php-devel.x86_64                    5.6.15-1.el6.remi                @remi-php56
php-fpm.x86_64                      5.6.15-1.el6.remi                @remi-php56
php-gd.x86_64                       5.6.15-1.el6.remi                @remi-php56
php-gmp.x86_64                      5.6.15-1.el6.remi                @remi-php56
php-mbstring.x86_64                 5.6.15-1.el6.remi                @remi-php56
php-mcrypt.x86_64                   5.6.15-1.el6.remi                @remi-php56
php-mysqlnd.x86_64                  5.6.15-1.el6.remi                @remi-php56
php-opcache.x86_64                  5.6.15-1.el6.remi                @remi-php56
php-pdo.x86_64                      5.6.15-1.el6.remi                @remi-php56
php-pecl-jsonc.x86_64               1.3.9-1.el6.remi.5.6             @remi-php56
php-pecl-jsonc-devel.x86_64         1.3.9-1.el6.remi.5.6             @remi-php56
php-pecl-xdebug.x86_64              2.3.3-1.el6.remi.5.6             @remi-php56
php-pecl-zip.x86_64                 1.13.1-1.el6.remi.5.6            @remi-php56
php-process.x86_64                  5.6.15-1.el6.remi                @remi-php56
php-recode.x86_64                   5.6.15-1.el6.remi                @remi-php56
php-soap.x86_64                     5.6.15-1.el6.remi                @remi-php56
php-tidy.x86_64                     5.6.15-1.el6.remi                @remi-php56
php-xml.x86_64                      5.6.15-1.el6.remi                @remi-php56

これで終了かと思っていたらWordPressが動いていませんでした.このままではいろいろ動いてないので,先ほど起動したphp-fpm以外にもmysqld,monit,nginx,sendmail,webminなどを起動します.

service nginx start

with Xdebug v2.3.3表示を消す

「php -v」した際に,

 # php -v
    with Xdebug v2.3.3, Copyright (c) 2002-2015, by Derick Rethans

という表示が出るようになりました.このままでも使えるのですが消すことに.

どうも,/etc/php.d/15-xdebug.iniを編集すればいいみたい.

vim /etc/php.d/15-xdebug.ini

して,

vim /etc/php.d/15-xdebug.ini
; Enable xdebug extension module
;zend_extension=xdebug.so

; see http://xdebug.org/docs/all_settings

のように2行目をコメントアウトしてphpの再起動(php-fpm)すれば出なくなります.

# php -v
PHP 5.6.15 (cli) (built: Oct 29 2015 14:27:23)
Copyright (c) 1997-2015 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2015 Zend Technologies
    with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2015, by Zend Technologies

php-fpmを再起動するとエラーする件

これとは別に,phpをアップデートしたらphp-fpmをrestartするとエラーが出るようになりました.「service php-fpm stop」はいいけど「service php-fpm start」でエラーになる.

エラーをよく見ていると「Zend OPcacheがもうロードされてる」という内容だったので,/etc/php.iniに書いていた

[zend opcache]
;zend_extension = opcache.so

にしてコメントアウトしたら再起動でエラーが出なくなった.

とりあえず以上でいいんでしょうかね.見た限りにおいて無事にWordPressは動いているようです.

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です