WordPressのPluginアップデート実施後にサーバーエラーが発生。その原因と対処法
WordPressのPluginバージョンアップが溜まっていたので更新をかけたのですが、更新完了のタイミングでブログが表示されなくなってしまいました。
500エラーが返ってきているので、サーバ上で何かしらの問題が発生したことは想像つきました。
というわけで直ぐにnginxのログを調査しました。
スポンサーリンクwordpress-backend-error.logを除くとこんなログが表示されていました。
2017/05/26 00:01:14 [error] 2136#0: *1576618 FastCGI sent in stderr:
"PHP message: PHP Parse error: syntax error, unexpected '[', expecting ')'
in /var/www/html/wp-content/plugins/wordpress-23-related-posts-plugin/config.php
on line 130" while reading response header from upstream,
このログを見てみると、PHPの構文エラーの旨が表示されています。wordpress-23-related-posts-plugin/config.phpのエラー該当行を見てみます。
$wprp_mp->create_profile([], "wprp");
PHPはあまり詳しくないですが、”()”内に”[]”が入ってるのでエラーということだと思います。少し検索してみるとRelated Postsのsupportにこんな事が書いてありました。
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/
どうやら、関連記事を表示されるpluginである「Related Posts」の最新バージョンではPHP 5.3は使えないようです。
当サイトのPHPのバージョンを確認したところPHP 5.3.3でした。これが原因のようです。
緊急対処としては該当プラグインが格納されているフォルダをリネームしてしまいます。
wordpress-23-related-posts-plugin ⇛ wordpress-23-related-posts-plugin_bk
nginxを再起動させ、無事サイトの復旧を完了できました。
今後の対応としては停止状態で利用していなかったRelated Postsを綺麗に削除することと、PHPのバージョンアップを近日中に行う必要があります。
このバージョンアップでまたサーバエラーが発生しないよう慎重に作業する必要がありますね。