発生事象
PHP7からPHP8への切り替えを行った後、画面に
Warning: Undefined array key ~
というエラーメッセージが表示される。
原因・対処(対応)方法
エラーメッセージの発生原因は、PHP7では許容されていたコーディングが、PHP8ではエラーとして扱われるようになったことが原因となっている。
$_GET[“param”] のような定義していない変数
⇒PHP7では通知として許容
⇒PHP8ではエラー(警告)
上記のような変数すべてに対して、以下のような修正が必要となる。
▼修正方法▼
$_GET[“param”]
↓
if( isset( $_GET[“param”] ) )
また、とりあえず早く、エラーメッセージを非表示にするだけならば、
// 警告(Warning)エラーのみ非表示にする
error_reporting(E_ERROR | E_PARSE | E_NOTICE);
上記をソースコードの先頭に追記するだけという簡単な対応方法もあるが、上記は警告エラーを全て非表示にするだけなので、警告自体は無くなっておらず、他の警告も全て表示されなくなってしまうため、こちらはあくまで一時的な対処法となる。
コメント