PHP7から8への環境移行時、不具合が発生した内容のを公開した。
今回はそれに関連した別事象の作業を行ったので記録しておく。
基本的には前回と同様に、公式サイトに掲載されている内容となる。
動作不能
PHP7でワーニングだったものが、PHP8から
エラー(TypeError)となっていた。
ログを確認すると、以下のようなメッセージ出力がある。
PHP Fatal error: Uncaught TypeError: Cannot access offset of type string on string in *****.php:**
結果的にはPHP8では型宣言がより厳格になりエラーとなる。
プログラムを確認すると案の定未定義で型宣言もなく、その変数は使用されていた。
第三者が作成したプログラムを修正する場合、修正後の障害リスクを減らすためになるべく手はかけたくない。(条件にもよるが)
という訳で手っ取り早く解決させる為、該当変数にisset関数を使用して対処。
まとめ
この後、類似プログラムが数多く存在するのが発見され、今回と同様の修正作業が必要な事が判明。
ぼちぼちと少しずつ片づけていきます・・・
コメント