昔作ったWordpressサイトを思い出し、久しぶりに触ったらHTTP500エラーが出てLogin画面すら開かなくなりました。
ひよこ
HTTP500エラーは、 インターナルサーバエラー・内部サーバエラーで、内部プログラムに問題があるときに発生するエラーです。
wp-config.phpを編集しエラーメッセージを表示させたところ、原因が分かりました。
//これを
define('WP_DEBUG', false);
//こう
define('WP_DEBUG', true);
原因はレンタルサーバのPHPバージョンの更新でした。更新により削除された関数がありエラーが出てました。うちの場合は”eregi”という関数で、これを”reg_match”関数に置き換え、無事、ログインできるように。
ログインできればこっちのもので、早速、Wordpressを最新版に更新し、プラグイン類、テーマも最新のものへ更新しました。
同じサイトでRSS生成に使っていたMgpieRSSも停止していました。こちらの原因もWordpressと同じで、 rss_parse.incファイル の”split”関数を”preg_split”関数に置き換えて無事動作するように。
参考 MagpieRSS: RSS for PHP MagpieRSS
//これを
list($ns, $el) = split( ":", $element, 2);
//こう
list($ns, $el) = preg_split( "/:/", $element, 2);
WordPressサイトはノーメンテナンスだとセキュリティ面のリスクが高くなります。保有サイトは、定期的にメンテナンスし最新版に保つなり、閉鎖するなりしないといけませんね。(自戒)
参考サイト:
PHP5.3以降で「Deprecated(非推奨)」となっている「ereg」関数を「preg_match」関数に変更してエラーを消す方法 | 今村だけがよくわかるブログ
phpのeregでDeprecatedエラーが出てるから調べてみたら使えなくなるという非常事態が発生 | ぷろめし|プログラミングよりも飯が好き
MagpieRSSをPHP7で動かすと… | カキノタ:IT-Life