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

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

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

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

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

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

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

PHPのバージョンUP前に互換性を確認する[PHP Compatibility Checker]
WordPressサイトを運営しているサーバーのPHPのバージョンアップをしたい。 しかし、WordPressにインストールしているテーマやプラグインが新しいPHPのバージョンに対応していないと、PHPのバージョンアップ後にWordP...
スポンサーリンク

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

デバッグモードをON

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

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

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

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

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

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

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

原因は、しばらく前に既に更新が止まっている「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」による「サイトに重大なエラー」への対策が完了です。

以上で解決です。