wordpressで投稿ページの画面が真っ白になった時の対処法

web制作

先日、サーバーのPHPを5系から7系にバージョンアップしたら、運用していたwordpressサイトの投稿ページ(single.php)の画面が真っ白になってしまうエラーが発生しました。

▼エラー時の状況
・トップページは正常
・page(固定ページ)も正常
・single(投稿ページ)は画面真っ白

画面真っ白になった時の対処法としては、パーマリンクの再設定がわりと鉄板なのですが、今回はそれでも治りませんでした。

となると、phpバージョンアップが原因=php関連のソースを見るべきと考えて、function.phpなどのファイルをチェック。ただ、このへんの構文をチェックしても問題はなさそう。

なので、wp-config.phpファイルで、エラー表示の設定にしてみたのですが、投稿ページが画面真っ白になってしまって確認できないため、エラーログも設定。



  define('WP_DEBUG',true);
  define('WP_DEBUG_LOG', true);

そんで確認して分かったことは、投稿ページにだけ使っているphp構文があり、それが古い仕様でしか対応していないものだったので、ダメだったことが発覚。

エラー文
PHP Deprecated: Function ereg_replace() is deprecated in /home/****/****.php on line 5

使っていたソース▼

この「ereg_replace()」がダメだったんですね。どうやらphp6系以降、下記の関数は廃止になったそうです。

  • ereg()
  • ereg_replace()
  • eregi()
  • eregi_replace()
  • split()
  • spliti()
  • sql_replace()

ってわけで、ereg_replaceをpreg_replaceになおしてあげて、正規表現をpreg_replace用に修正してあげると、画面真っ白現象もなおりました。

まとめ

wordpressで、phpのバージョンアップをした時に画面真っ白になった場合は、廃止になったphp関数を使っていることが原因かもしれませんので、チェックしてみてください!

参考サイト

▼ereg_replaceをpreg_replaceに書き換えた
http://harukomugi.sakura.ne.jp/blog/2014/07/17/ereg_replace%E3%82%92preg_replace%E3%81%AB/

▼phpのeregでDeprecatedエラーが出てるから調べてみたら使えなくなるという非常事態が発生
http://www.promeshi.com/archives/153

最後に一言

小まめにバージョンアップしておくことが大事っすね・・・。

この記事が参考になったら「いいね!」

wordpress

wordpressで投稿ページの画面が真っ白になった時の対処法


SNSのシェアはこちらから!

  • 1
    このエントリーをはてなブックマークに追加
  • Pocket

PROFILE

yoshi

運営者のYoshiと申します。WEB制作は、HTML/css/javascript/PHP/git/wordpress/MT/DB/photoshop/illustrator/fireworksなど扱えます。サーバー・アプリなども習得中。