PHPでCannot re-assign auto……のエラー
2024/02/20
PHPバージョンアップに伴い「Fatal error: Cannot re-assign auto-global variable _FILES in(翻訳:致命的なエラー: 自動グローバル変数 _FILES を再割り当てできません)」というエラーが発生していた。対処方法をメモ。
原因
スーパーグローバル変数をパラメータ名に使っていたがPHP5.4以降だとfatal errorになる。以下リファレンス。
http://php.net/manual/ja/migration54.incompatible.php
対応方法
#以下だとエラー
function hoge( $_FILES ){
}
#以下に変更する。$fileは適当な名前で設定する
function hoge( $file ){
}
まとめ
関数のパラメータ名にグローバル変数を使用してはいけない。今回は$_FILESだったけど$_POSTや$_GETなどもダメなので注意する。
関連記事
-
-
PHPで「php-qrcode-detector-decoder」ライブラリを使用してQRコードをデコードする方法
PHPでQRコードの画像をデコードし、値を変数等に格納したい。何とかならないか調 ...
-
-
CodeIgniter4でコントローラ実行の前後に指定したイベントを実行する方法
CodeIgniter4で特定の条件の場合は指定したページにリダイレクトさせたい ...
-
-
CodeIgniter3でCronを実行する方法
CodeIgniter3系で特定の処理をCronで自動実行したかった。以下に設定 ...
-
-
PHP8系で追加されたJIT(Just-In-Time)の設定方法
PHP8系でOPcacheの拡張機能としてJIT(Just-In-Time)とい ...
-
-
PHPで配列データをCSVとしてダウンロードさせる方法
PHPでログ的なデータをCSV化したかった。ただ、複数の人間が使うのでCSVファ ...