WordPressでPHPバージョンアップ時に「Warning: preg_replace(): Compilation failed: invalid range in character class」

今回はWordPressでPHPバージョンアップ時に下記のようなエラーが起きたときの対処法についてご紹介していこうと思います。

私はWordPressのPHPのバージョンを8.1.22に上げたときに次のようにサイトを開いたときにエラー表示されるようになってしまいました。

WordPressでPHPバージョンアップ時に「Warning: preg_replace(): Compilation failed: invalid range in character class」



WordPressでPHPバージョンアップ時に「Warning: preg_replace(): Compilation failed: invalid range in character class」

結論から言うと私は「Crayon Syntax Highlighter」というプラグインを使用していて、このプラグインがPHP7.4以降がサポートされていないことが原因でした。
よってこのプラグインを無効化すればひとまずエラーは出なくなるでしょう。

しかし「Crayon Syntax Highlighter」はソースコードをきれいに表示させるプラグインですが、当然ながら無効化すると使えなくなってしまいます。

そこで主に次のような解決策があります。
・「Urvanov Syntax Highlighter」というプラグインを利用する
・他のソースコードを綺麗に表示させるためのプラグインに置き換える
・手作業で「Crayon Syntax Highlighter」を有効化したまま「Crayon Syntax Highlighter」の修正を行う。

私がおすすめするのは「Urvanov Syntax Highlighter」というプラグインを代わりに利用することです。
「Urvanov Syntax Highlighter」は「Crayon Syntax Highlighter」の後継となるプラグインですが、今まで使っていた「Crayon Syntax Highlighter」と同じUIとなります。
また、既存のソースコードを置き換える必要もありません。

表題のエラーが出ている状態はサイトにアクセスできない状態なので、さっさと解決したい場合は「Crayon Syntax Highlighter」を無効にして「Urvanov Syntax Highlighter」をインストールして有効にすることをおすすめいたします。

終わりに

今回はWordPressでPHPバージョンアップ時に表題のようなエラーが起きたときの対処法についてご紹介いたしました。

最後までお読みいただきありがとうございます。
よろしければブログやTwitterでのシェアをお願いしております。
コメントもお待ちしております。
誤植や勘違いなどございましたらコメント欄にて教えていただけると幸いです。

直接契約ができるフリーランスエージェント「エンハンス」を立ち上げました。
詳しくは下記LPをご参照ください。
https://enhance.decryption.co.jp/

Youtubeチャンネル開設いたしました。
チャンネル登録者1000人を目指しているので、良いと思った方はチャンネル登録をお願いしたいです。
https://www.youtube.com/channel/UC219XhmSRxmXltTy6COxSMw






WordPress

Posted by ちこ