WordPressのサイトでWP本体やプラグインをバージョンアップしたところ、500エラーが起こり表示できなくなってしまいました。
目次
サーバーのログをみる
CPIのACE01というレンタルサーバーを利用しているので、公開サイト用設定からログを確認
エラーログをみます。
エラーログはこれだけ。何度アクセスしてもエラーはふえません。
普通のphpが動くかためしてみる
WordPressがインストールされているサーバーのフォルダに
aa.php
というファイルをつくり
<?php phpinfo(); ?>
という内容でアップロードしました。
これを直接実行してみます。
あら、ちゃんとphpは動いているようです。
でも、phpのバージョンが5.3.6になっています。
PHPバージョンが低すぎるせい?
WordPressの公式からPHPのバージョンがいくつ以上なのかしらべてみました。
推奨はPHP7以上ですが、5.2以上でも大丈夫そうです。
CPIのACEプランはphp.iniが悪さをするときがある
以前、htaccessの記述を修正してもphpのバージョンがあがらない時があり、php.iniをサーバーから削除したところ無事に動くということがありました。
今回もサーバー側にphp.iniがあったので、とりあえずこれを削除してみました。
すると、WordPress Related postsのプラグインでエラーが起こっているようです。
Parse error: syntax error, unexpected '[', expecting ')' in /usr/home/hoge/html/wp-content/plugins/wordpress-23-related-posts-plugin/config.php on line 130
WordPress Related PostsはPHP5.4以上でないとエラーがおこる
こちらのフォーラムでかかれていました。
Topic: Version 3.6.4 broke my site « WordPress.org Forums
いわく
Our latest plugin update, 3.6.4, will not work properly with sites on PHP 5.3.* or older. It requires PHP 5.4 or higher to function properly. 99.9% of our users meet this PHP requirement, but a few users are on PHP 5.3.* or older and are encountering problems.
最新のプラグインアップデート3.6.4は、PHP 5.3。*以前のサイトでは正しく動作しません。適切に機能するにはPHP 5.4以上が必要です。ユーザーの99.9%がこのPHP要件を満たしていますが、PHP 5.3。*以降のユーザーが問題に遭遇しています。
If your site runs on the older PHP 5.3.* you can still use our previous plugin version, v3.6.3, without problem. It can be downloaded directly from WordPress at: https://wordpress.org/plugins/wordpress-23-related-posts-plugin/advanced/
あなたのサイトが古いPHP 5.3。*上で動作している場合でも、以前のプラグインバージョンv3.6.3を問題なく使用できます。 WordPressから直接ダウンロードすることができます
↓ こちらのサイトから以前のバージョンはダウンロードできます。
WordPress Related Posts — WordPress Plugins
上記サイトの一番下に、ダウンロードできるバージョンを選べるので、WordPress Related Postsのv3.6.3をダウンロードすると解決できます。
今回はphpのバージョンを7.1にすることにした
今後も似たような問題は発生する可能性があるのと、2017年5月現在CPIのACEサーバーはphp7.1.1まで使えるので、php7.1.1に変更することにしました。
ちなみに、CPIのACEプランでは、htaccessにこのように記述すればPHPのバージョンを変更することができます。
AddHandler x-httpd-php71 .php
結果とまとめ
Phpのバージョンを7.1にしたところ、WordPress Related Postsのエラーも発生せず無事にサイトが復活しました。
WordPressは本体もテーマもプラグインも、バージョンアップするとうまく動かなくなることが多々あるので、常に最新のバージョンにできるようなスキルを勉強しておくことをおすすめします。