Warning: preg_replace(): Compilation failedエラーの解決方法!PHP7.4バージョンアップ後にCrayon Syntax Highlighter プラグインで発生
PHPをバージョンアップしなさい、とメッセージがあったことに全く気づかず・・・久しぶりにPHPをバージョンアップをしたところ、以下エラー(正確には警告)が大量に発生してびっくり!
Warning: preg_replace(): Compilation failed: invalid range in character class at offset 4 in /(自分のディレクトリ)/public_html/wp-content/plugins/crayon-syntax-highlighter/crayon_langs.class.php on line 340
私は別のプラグインをインストールして解決しました。
Crayon Syntax Highlighter⇒Urvanov Syntax Highlighterをインストールして解決
表示された警告は「Crayon Syntax Highlighter」プラグインが出している警告です。
私はPHPを7.0.33⇒7.4.25にバージョンアップしたのですが、そうしたらサイト上に大量にあの↑メッセージが表示されました。
やっちゃった~!!!と思って調べた結果、「Crayon Syntax Highlighter」プラグインの代わりに「Urvanov Syntax Highlighter」プラグインを使用すればよさそうということが分かりました。
具体的には以下の流れになります。
- 「Crayon Syntax Highlighter」プラグインを無効化する
- 「Urvanov Syntax Highlighter」プラグインをインストール&有効化する
- 「Crayon Syntax Highlighter」プラグインを削除する
「Urvanov Syntax Highlighter」は「Crayon Syntax Highlighter」と同じ開発者のようです。
だから(だと思いますが)互換性があり、記事内のコードを修正しなくても元通りに記事を表示をすることができました↓。
ありがたいことです。
本当に良かったです。
使っている箇所は少なかったのですが、でもそれをちまちま修正するのは手間ですものね。
それにしても久しぶりに派手な警告画面をみました。
サイトの上部に大量警告が表示され、スクロールしてやっとサイトが見れるという・・・
ちょっと焦りましたが、元に戻って良かった良かった。