勉強したことのメモ

Webエンジニア / プログラマが勉強したことのメモ。

PHPでCannot re-assign auto……のエラー

   2024/02/20  PHP

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

  関連記事

phpdotenvライブラリを使用してPHPで.envファイルを読み込ませる方法

CodeIgniterを勉強していた際に各種設定は「.env」というファイルに記 ...

PHPでパスワードを保存する際に暗号(パスワードハッシュ)化させ、ログイン認証時に用いる方法

PHPでログイン認証を組み込む際に今までは特に暗号化は行っていなかった。と言うの ...

PHPのエラーメッセージ及びvar_dumpを見やすく表示するライブラリ「Tracy」の利用方法

ここのところPHPでの開発時にvar_dumpをツールバー表示する「Kint」及 ...

JavaScriptの「pako」ライブラリでGzip圧縮したデータをPHPで展開する方法

先日、JavaScriptの「pako」ライブラリで文字列やオブジェクト(連想配 ...

PHP8系の環境でdBug.phpライブラリが使用できない場合の対応方法

先日メモしたdBug.phpをPHP8系の環境で試すと動作しなかった。ただエラー ...