【WordPress】PHP7.3に上げたらプラグインのエラーでWordPressが死んだ

サイトにエラーが表示され、Wordpressの管理画面が見えない

このたび、さくらサーバーのPHPバージョンが7.3に上がったタイミングで
サイトに盛大なエラーメッセージが表示されました。

Warning: preg_replace(): Compilation failed: invalid range in character class at offset 4 in /ごにょごにょごにょ/wp-content/plugins/crayon-syntax-highlighter/crayon_langs.class.php on line 340

サイトのほうは、ページ上部をエラーに占拠されたものの閲覧はできていました。

が、管理画面のほうが死を迎えており。

エラーメッセージ以外が何も表示されない……。

 

※ところで最新のWordpressそのものはPHP7.3に対応しています。(2019.7現在)
そのため公式には下記のように書かれています。

PHP を新しいバージョンにアップグレードする際、WordPress としては推奨バージョンである PHP 7.3 への更新をおすすめしています。

PHP 最低必須バージョンの変更

 

ini_set(‘display_errors’,0); でとりあえずエラーを殺す

参考:https://haniwaman.com/not-error-message/

応急処置として、wp-config.phpにエラー表示を止める記述を入れました。

ini_set('display_errors',0);

これで、めでたくページ上の表示は治りました。管理画面にログインできます。

エラーをはいていたプラグインを切る

どうやら古めのプラグインだったため、PHP7.3でエラーをはいたようです。

早速Crayon Syntax Highlighterの利用を終了しました。

そして念のため、次のトラブルに気づけるようにエラー表示ができるように、wp-config.phpを元に戻しました。

 

参考:

PHP 7.3 にバージョンアップ後 Crayon Syntax Highlighter プラグインで Warning: preg_replace(): Compilation failed エラーが表示される場合の対処法