WordPressをメンテナンスしていて「Notice: Undefined variable・・・・・:」の表示を出してしまい困ったことはありませんか。
トップページがこんな状態になってしまいました。
Undefined variable の原因
ブログを書くのが目的でWordPressを利用しているだけなので、説明書をいくらググったところで本当の意味は理解できませんし、理解する余裕もありません。治ればいいのです。
とはいえ、いろいろ試してみたところもとにもどりました。
原因は、WordPressのサイトヘルスに表示された「Authorizationヘッダーがありません」という課題を解決しようとしたことからはじまりました。
解決策を調べると、レンタルサーバー側のphpを使うこととあります。(・・・間違っていたかもしれませんが)
そこで、利用中のwpxシン・レンタルサーバーの管理画面からphpVerを切り替えることにしました。
phpVer切替をクリックすると「php7.4.25(推奨)」となっています。
これを最新版の8.0.12に変更しました。
どうやらそれが仇となっていたようです。8.0.12にするとUndefined variableが出現します。
Undefined variable の解決策
あわてて元の 「php7.4.25(推奨)」 に戻したところ、エラー表示が消え、もとに画面になりました。
「Authorization ヘッダーがありません」の表示は彫っておいても実害はないとのことですので、無視することにしました。
まとめ
WordPressにはサイトヘルスというWordPressの状態をチェックするためのページがありますが、まじめに対応するとかえって余計なトラブルを引き起こしかねません。
今回の問題で悩んでいる人はほかにもいるようです。
PHP8.0は、現在CGI版しか提供されていません。そのうちモジュール版の提供が行われるんだろうと推測しますが、今はまだです。
特に問題が発生するようなことは考えにくいというのと、PHPのバージョンを8.0にせっかく上げられるのに、このメッセージを消すためだけにバージョンを下げてモジュール版を使うという選択肢はないなぁと思ってます。