PHP7.3へバージョンアップ後の「サイトに重大なエラー」を対策

PHP7.3へバージョンアップ後の「サイトに重大なエラー」を対策 WordPress

サーバーのPHPをPHP7.2からPHP7.3にバージョンアップし、その後にブログの動作確認をしていたら、一部のページが「サイトに重大なエラーがありました。」と表示されて完全にバグっている。

「サイトに重大なエラーがありました。」エラー発生

インストール済みのテーマやプラグインなどの互換性をチェックするために、あらかじめ「PHP Compatibility Checker」というプラグインを利用してPHP7.3への互換性をチェックしたはずなのだが、見事に重大なエラーが発生。

というわけで対策します。

※「PHP Compatibility Checker」の使い方は以下の記事を参考にしてください。

WordPressのデバッグモードでエラー原因を特定

デバッグモードをON

まず、エラーの原因を特定するためにWordPressのデバッグモードをONにします。

wp-config.phpを編集します。

デバッグモードはデフォルトではOFFになっているので、上記の
define('WP_DEBUG', false);

define('WP_DEBUG', true);
に変更してデバッグモードをONにします。

エラーの原因は「Crayon Syntax Highlighter」

再度、エラーの出ていたページをリロードしたところ、以下のようなエラーがズラっと表示されました。

WordPressデバッグモードでのエラー表示

原因は、しばらく前に既に更新が止まっている「Crayon Syntax Highlighter」プラグインですね。

原因がわかればあとは対処するだけです。

【対策方法その①】 Urvanov Syntax Highlighterに変更

Crayon Syntax Highlighterは随分と前から既に更新が止まっていますが、その後、同じ作者が「Urvanov Syntax Highlighter」という新しいプラグインを公開しています。

Urvanov Syntax Highlighter – WordPress プラグイン | WordPress.org 日本語】
https://ja.wordpress.org/plugins/urvanov-syntax-highlighter/

この「Urvanov Syntax Highlighter」は、Crayon Syntax Highlighterと操作方法もほぼ同じで、以前にCrayon Syntax Highlighterを使って作成したページも、何の変更も無しにそのまま設定を引き継いで従来と同じように表示してくれます。

プラグインの変更方法は、まずWordPressメニューの「プラグイン」からCrayon Syntax Highlighterを削除し、次にUrvanov Syntax Highlighterをインストールして有効化するだけです。

手順も簡単なのでこの対策方法をおすすめします。

【対策方法その②】 Crayon Syntax Highlighterのエラーを修正

どうしても今後もCrayon Syntax Highlighterを使い続けたいという場合は、Crayon Syntax Highlighterのエラーが発生している箇所を修正して対策します。

手動でphpファイルを修正する方法【プランA】と、最新版プラグインをアップロードする方法【プランB】がありますので、お好きな方で対応ください。

手動でのエラー修正方法【プランA】

crayon_langs.class.php の修正

crayon_langs.class.phpの340行目付近を修正します。

修正前

修正後

crayon_formatter.class.php の修正

crayon_formatter.class.phpの118行目付近を修正します。

修正前

修正後

crayon_settings.class.php の修正(2つあります。)

【1つ目】

crayon_settings.class.phpの88行目付近を修正します。

修正前

修正後

【2つ目】

crayon_settings.class.phpの229行目付近を修正します。

修正前

修正後

これで完了です。

最新版プラグインのアップロードによる修正方法【プランB】

有志によるcrayon-syntax-highlighterの最新版をGitHubからダウンロードして、プラグイン画面からアップロード⇒インストールでも対応できます。

■crayon-syntax-highlighter(GitHub)
https://github.com/Crunchify/crayon-syntax-highlighter/releases

【手順】

  1. 上記のURLからzipファイルをダウンロード
  2. 既存の「Crayon Syntax Highlighter」プラグインを削除
  3. 「プラグイン」⇒「新規追加」⇒「プラグインのアップロード」にてzipファイルをアップロードしてインストール

動作確認

最後にWordPressおよびWebサイトの動作確認を行いましょう。

エラーが消えて問題が無ければ、wp-config.phpを開き、
define('WP_DEBUG', true);
から
define('WP_DEBUG', false);
に変更してWordPressのデバッグモードをOFFに戻します。

これにて「Crayon Syntax Highlighter」による「サイトに重大なエラー」への対策が完了です。

以上で解決です。

タイトルとURLをコピーしました