下記の記事通り、WordPressのサイトを動作させているサーバのPHPを7にアップグレードしました。
http://protocol.nekono.tokyo/2017/03/31/php7へのアップグレード手順/
その後にサイトにアクセスをしましたが画面が真っ白で何も表示できなくなりました。
管理サイトも開けず何もできない状態です。
Apacheのエラーログを確認したところPHP実行時にエラーが出ていました。
PHP7へのアップグレードが原因なことは明らかです。
ちなみにWordPressはPHP7を推奨しているのでPHP7に対応しているバージョンであれば正常に動作します。
[Sat Mar 11 09:58:43 2017] [error] [client 49.98.156.170] PHP Fatal error: 'break' not in the 'loop' or 'switch' context in /var/www/wordpress/wp-content/themes/bizvektor-global-edition/bizvektor_themes/003/003_custom.php on line 23, referer: https://www.google.co.jp/ [Sat Mar 11 09:58:43 2017] [error] [client 49.98.156.170] PHP Stack trace:, referer: https://www.google.co.jp/ [Sat Mar 11 09:58:43 2017] [error] [client 49.98.156.170] PHP 1. {main}() /var/www/wordpress/index.php:0, referer: https://www.google.co.jp/ [Sat Mar 11 09:58:43 2017] [error] [client 49.98.156.170] PHP 2. require() /var/www/wordpress/index.php:17, referer: https://www.google.co.jp/ [Sat Mar 11 09:58:43 2017] [error] [client 49.98.156.170] PHP 3. require_once() /var/www/wordpress/wp-blog-header.php:13, referer: https://www.google.co.jp/ [Sat Mar 11 09:58:43 2017] [error] [client 49.98.156.170] PHP 4. require_once() /var/www/wordpress/wp-load.php:37, referer: https://www.google.co.jp/ [Sat Mar 11 09:58:43 2017] [error] [client 49.98.156.170] PHP 5. require_once() /var/www/wordpress/wp-config.php:93, referer: https://www.google.co.jp/ [Sat Mar 11 09:58:43 2017] [error] [client 49.98.156.170] PHP 6. include() /var/www/wordpress/wp-settings.php:369, referer: https://www.google.co.jp/
ログを詳しく見るとWordPressのテーマを処理しているところでエラーが出ていました。
現在設定しているテーマがPHP7に対応してないようです。
なお、テーマはフリーで配布されているものを使用しています。
この問題を解消するにはテーマを変更することですが管理画面も開けないので手の内ようがありません。
とにかくサイトを復旧させたいのでPHP7からPHP5にダウングレードして戻すことにしました。
まずはPHPのバージョンを確認します。
$ php -v PHP 7.0.16 (cli) (built: Feb 14 2017 17:31:34) ( NTS )
PHPのダウングレードの手順はアップグレードと同じです。
一度PHPを全て消去してから導入したいバージョンのPHPをインストールします。
$ yum remove php* $ yum install --enablerepo=remi --enablerepo=remi-php56 php php-fpm php-devel php-pecl-xdebug php-mbstring php-openssl php-mysqlnd php-xml
最後にPHPのバージョンを確認します。
$ php -v PHP 5.6.30 (cli) (built: Jan 19 2017 08:09:42)
PHP5に戻したところ、WordPressを正常に動作させることができました。
テーマの変更はサイトのデザインを変えることになるためPHP7へのバージョンアップは保留にすることにしました。