【PHP】PHP7からPHP8にアップグレードしたら不具合が発生したNo2

PHP

PHP7から8への環境移行時、不具合が発生した内容のを公開した。
今回はそれに関連した別事象の作業を行ったので記録しておく。
基本的には前回と同様に、公式サイトに掲載されている内容となる。

動作不能

PHP7でワーニングだったものが、PHP8からエラー(TypeError)となっていた。
ログを確認すると、以下のようなメッセージ出力がある。 

PHP Fatal error: Uncaught TypeError: Cannot access offset of type string on string in *****.php:**

結果的にはPHP8では型宣言がより厳格になりエラーとなる。
プログラムを確認すると案の定未定義で型宣言もなく、その変数は使用されていた。
第三者が作成したプログラムを修正する場合、修正後の障害リスクを減らすためになるべく手はかけたくない。(条件にもよるが)

という訳で手っ取り早く解決させる為、該当変数にisset関数を使用して対処。

まとめ

この後、類似プログラムが数多く存在するのが発見され、今回と同様の修正作業が必要な事が判明。
ぼちぼちと少しずつ片づけていきます・・・

コメント