2022/06/11 Podcastはしばらくお休みします。

WordPress「サイトに重大なエラーがありました」の解消方法

WordPress・Web運営

こんにちは。安慶名勇子(アゲナユウコ)です。

WordPressにてホームページを運用されている方の相談に乗っていたときのこと。サーバーに設定されているPHPのバージョンがすでに非推奨になっていたため、推奨Verに更新してもらったところ、カスタム投稿タイプを利用しているページにて多数のPHPエラーが表示されてしまいました。また、個別投稿ページにアクセスするとこのようなエラーページが表示され、肝心のコンテンツには一切アクセスできないという状態に。

この現象を解消したので、その方法を記録しておきます。

どのファイルでエラーが出ているのかを調べる準備

どのファイルでエラーが出ていないかを調べないことには修正もできないので、まずはログを取ってみることに。ネットで調べてみると、wp-config.phpファイルのデバッグ記述を

define(‘WP_DEBUG’,false );

define(‘WP_DEBUG’, true);

に書き換えれば、wp-contentフォルダ内にログファイルが作成されると記載しているサイトが多くみつかりました。しかし、その方法ではログファイルができなかったんですよね。

さらに、エラー解析をしている間もサイト上にはPHPエラーが表示されているので、ひとまずサイト上のエラーの表示を非表示にするコードも追加しました。具体的な手順は下記の通り。

デバッグ準備の手順

  1. FTP接続ソフトにてサーバーにアクセス
  2. 該当サイトフォルダ配下にあるwp-config.phpファイルをダウンロード
  3. wp-config.phpをテキストファイルで開く
  4. define(‘WP_DEBUG’, false);の記述を探す
  1. 探した箇所を下記のように変更・保存する

下記コードをコピー&ペーストすると楽です。

  1. FTP接続ソフトにて該当サイトフォルダにアクセス
  2. wp-config.phpファイルをアップロード(上書き)
  3. テキストファイルでdebug.logという名称の空ファイルを作成する
  4. FTP接続ソフトにて該当サイト配下のwp-contentフォルダにアクセス
  5. debug.logをwp-contentフォルダにアップロード

デバッグの準備がこれで完了しました。

サイトでエラーを発生させてみる

サイトにアクセスし、「サイトに重大なエラーがありました」というエラーを出します。このエラーさえ出ればデータ取得はできるので、どの個別投稿にアクセスしてもOK。

ログファイルを解析する

FTP接続ソフトにて該当サイト配下のwp-contentフォルダにアクセスし、debug.logをダウンロードします。テキストファイルで開くとこのような記述がありました。どうも、header.php内のereg_replace()という関数でエラーが起きている様子。

PHP7対応の関数に変更する

ereg_replace()は、正規表現による置換を行う関数ですが、PHP 5.3以降は非推奨、PHP7では削除されているとのこと。どおりでエラーが出るわけだ…。ということで、ereg_replace()を新しい関数preg_replace()に書き換えます。

修正手順

  1. WordPress管理画面の「外観」「テーマエディタ―」へアクセス
  2. 右サイドバーに表示されるheader.phpを選択
  3. ログに出力されている行番号をもとにereg_replace()を探す
  1. preg_replace()に書き換える
  1. 「ファイルを更新」を押して完了

テーマエディタ―から更新できない場合は、FTP接続ソフトでサーバーから該当ファイルをダウンロードし、書き換え&アップロードを行えばOK。

  1. サイトにてエラーが解消されていることを確認する

ひとまず解消したものの…

上記修正でサイトのエラーは解消されました。

PHPのバージョンアップによるプログラムエラーだったわけですが、テーマのメンテナンスを自分で行わなければならない場合、このようなエラーはまた出てくるでしょう。PHPのバージョンは今後もどんどんアップしていきますから。その都度、自分でエラー解析&対処をしなければならないとなると、プログラムに精通している人でない限り、かなりハードルが高いのではないでしょうか。

そう考えると、購入後もしっかりテーマのメンテナンスを行ってくれるところってありがたいですね。その点、TCDはこまめにアップデートしてくれるので助かっています。有料テーマを購入する価値はここにあると思っています。

ちなみに、このブログで使用しているWordPressテーマはこちら。

というわけで、PHPバージョンアップによる「サイトに重大なエラーがありました」の解消方法でした。

Yuko Agena

Yuko Agena

モノづくりやひとり旅、ガジェット好きのソリスト。仕事のこと、プライベートのこと、日々の出来事や思考を記録しています。

関連記事

特集記事

Yuko Agena

Yuko Agena

仕事のこと、プライベートのこと、日々の出来事や思考をジャンルを問わず気ままに記録しています。どちらかというとソリストで、ひとり旅やモノ作りが好き。

更新情報

2023年3月
 12345
6789101112
13141516171819
20212223242526
2728293031  

最近の記事

  1. 【Vol.159】カールおじさんになってしまった原因を探る。デジタルツールと健康のお話。

  2. 【Vol.158】初めて訪ねた眼鏡屋さんでの体験。ビジネスもプライベートも大事なのは○だよね…って話。

  3. 【Vol.157】この連休で達成したことと未達成なこと。計画や時間の他に見逃しがちなもうひとつの要素について。

  4. 【Vol.156】大型連休に突入!徹底的なメンタルケアのためにGWはこう過ごす。

  5. 【Vol.155】自分のためにと決めたことが自分を苦しめてはいないか。決めないことが自分を救うこともある…という話。

ランキング

  1. 1

    WordPressで管理者メールアドレスが変更できないときの対処法

  2. 2

    WordPress「サイトに重大なエラーがありました」の解消方法

  3. 3

    テレビなしの生活を10年以上続けている私が感じる、テレビのない生活のメリット・デメリット

  4. 4

    Todoistは有料版がおススメ!無料版との違いと使い心地をグランドマスターが解説してみる

  5. 5

    YouTubeで流行っているらしいflixzoneを推奨するスパムコメントに気をつけて!

TOP