LoginSignup
4
1

More than 3 years have passed since last update.

$_ENV取得でエラーになった時に確認した設定まわり

Last updated at Posted at 2020-02-04

php7.1からphp7.3にバージョンアップしたら
$_ENVというスーパーグローバル変数を使って環境変数を取得している箇所でエラーが起こるようになりました。

どうやら$_ENV自体が空で取得できていないようだったので、
調査してみたところ

$_ENVはphp.ini の variables_order という設定に E が含まれていないと使えない。ということでした。
含まれていないと $_ENV は単に空の配列になるようです。

Comments for this page seem to indicate getenv() returns environment variables in all cases.
For getenv() to work, php.ini variables_order must contain 'E'.

ということでphp.initの値を確認したら

variables_order = "GPCS"

となっていたのでEをつけたら読み込めるようになりました。

variables_order = "EGPCS"

そもそもENVは本番サーバなどでは推奨されないようです。
これは推奨としてphp7.3のデフォルト値なのか分かりませんが、パフォーマンスにも影響してくるようですね。

4
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
1