バージョンアップしたらWP RelatedPostsでエラーがでた件

WordPressのサイトでWP本体やプラグインをバージョンアップしたところ、500エラーが起こり表示できなくなってしまいました。

Toy japan net

目次

サーバーのログをみる

CPIのACE01というレンタルサーバーを利用しているので、公開サイト用設定からログを確認

500error

エラーログをみます。

500error

エラーログはこれだけ。何度アクセスしてもエラーはふえません。

500error

普通のphpが動くかためしてみる

WordPressがインストールされているサーバーのフォルダに

aa.php

というファイルをつくり

<?php phpinfo(); ?>

という内容でアップロードしました。

これを直接実行してみます。

500error

あら、ちゃんとphpは動いているようです。

でも、phpのバージョンが5.3.6になっています。

PHPバージョンが低すぎるせい?

WordPressの公式からPHPのバージョンがいくつ以上なのかしらべてみました。

500error

日本語 — WordPress

推奨は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をダウンロードすると解決できます。

500error

今回は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は本体もテーマもプラグインも、バージョンアップするとうまく動かなくなることが多々あるので、常に最新のバージョンにできるようなスキルを勉強しておくことをおすすめします。