WordPressのバージョンを5.5にあげたところ、PHPのバージョンが非推奨ですよとWordpressのダッシュボード画面にメッセージが表示されていたので、何も考えずバージョンをあげてみた( PHP7.1.33 → PHP7.3.16 )ところ以下のようなエラーが表示されました。
Warning: Use of undefined constant ‘WP_DEBUG’ – assumed ‘‘WP_DEBUG’’ (this will throw an Error in a future version of PHP) in xxx/public_html/wp-config.php on line 88
バージョンを戻すとエラーは消えるのでPHPのバージョンのせいでエラーが出ていることは確実。
対象の箇所は以下のようにかかれておりfalseにしてみても特に変化なしでした。
define(‘WP_DEBUG’, true);
デバッグって書いてあるし関係なさそうですものねぇ。
プラグインを怪しむ
とりあえずプラグインを更新しても変化なし。
ググるとプラグインを1つずつ無効化して影響が出ているか確認するのが効果的と書かれていましたが、どれも使っているプラグインなので困ります。ということで一つずつ無効化して再読み込みして確認してみましたが、どれも関係ない模様。(キャッシュ読んでたら困るけど、きっと関係ない)
wordpressのサイトを見てみると最新の対応バージョン (現在は7.4) と書かれていたのでPHP7.4と書かれていたので、PHP7.4.4にしてみたところデータベース確立エラーになって冷や汗。
サーバー側が7.4は非推奨だったのでそのせいもあるかもしれませんが7.4は当分却下ですね。
PHP Compatibility Checkerを使ってみる
wordpressのサイトにPHP Compatibility Checkerというプラグインで互換性のチェックができると書かれていたのでさっそくインストールをして確認。
PHP 7.3 互換性のスキャン結果がでると全て互換性あり。うーん。
最終的にはWordpressのサイトにはバージョン戻したら的なことが書いてあったのでバージョンもどして様子見中。
wp-config.php on line 88を怪しむ (解決)
といっても、もやもやするので再び調べてみることに。wordpressフォーラムを読んでいたら解決しました。
まさかのシングルクォートが全角?アポストロフィー?になっていました。
define(‘WP_DEBUG’, true);
ということで半角に戻します。
define(‘WP_DEBUG’, true);
バージョンをPHP7.3.16に変更したところ無事Warningの文字は消えました。
今思えば思いっきり、Warningで注意されてますね。PHPかしこい。
おわり
それにしても自分で何かのタイミングで変えてしまったのだろうか。私以外の方も同じ現象になっている人がいるということは何かのタイミングで全角シングルクォートになってしまうのか、それともはじめから全角シングルクォートのwordpressをずっと使っていたのか、不思議。
Macだと勝手にコピペ時に変換されたりしたのかもしれません。シングルクォートは確認していなかったけれど、ダブルクォートは勝手に変換されていたのでその影響があったりするかもしれません。謎です。