このブログはWord Pressを使用しています。
少し前から、ブログの管理画面のダッシュボードに『PHPの更新を推奨する』という内容のアラートが出ていたので更新しました。
PHPバージョンアップ
Word Pressで使っているPHPのバージョンをアップデートします。
プラグインのアップデートと違い、ブログの管理画面からはアップデートできません。
サーバーの管理画面にログインし、PHPバージョンアップを行いました。
バージョンアップ前 | バージョンアップ後 |
PHP7.2.34 | PHP7.4.13 |
アップデート自体はサクッと終了したのですが、問題が発生しました。
導入しているプラグイン『Crayon Syntax Highlighter』でエラーが発生したのです。
Crayon Syntax Highlighterのエラー修正
PHPのバージョンアップをしたら、Crayon Syntax Highlighterでエラーが出てしまいました。
このブログでいうと、ページのヘッダー部分に、『Warning: preg_replace(): Compilation failed: invalid range in character class at offset 4 in /home/(省略)/public_html/wp-content/plugins/crayon-syntax-highlighter/crayon_langs.class.php on line 340』という表示が複数行表示されるという状態になってしまいました。
crayon_langs.class.phpというファイルの340行目でエラーが出てるってことなので、修正しました。
1 2 3 4 5 |
# 修正前 return preg_replace('/[^\w-+#]/msi', '', $id); # 修正後 return preg_replace('/[^\w+#-]/msi', '', $id); |
ぱっと見修正箇所が分かりにくいのですが、これだけでエラーは解消され問題なくページ表示がされるようになりました。
Crayon Syntax Highlighterはスクリプトをブログに表示するときに使用していますが、開発が終了しているらしいです。
PHPバージョンアップにも対応できなくなる可能性が高いので、他のプラグインを使ったほうがいいかも。
ということでゆっくりプラグインを探してみます。
コメント