「サーバーにあげたら挙動がおかしくなった
」
という事があったのでメモです。
原因
以下のコマンドでキャッシュを作った事により、env()はnullしか返してくれなくなった!
php artisan config:cache
ということでした。
ソースを見ると、そんな仕様みたいです・・・![]()
日本語訳のマニュアルには以下のように記載されています![]()
https://readouble.com/laravel/5.5/ja/helpers.html#method-env
Note: 開発期間中にconfig:cacheコマンドを実行する場合は、設定ファイルの中で必ずenv関数だけを使用してください。設定ファイルがキャッシュされると、.envファイルはロードされなくなり、env関数の呼び出しは全てnullを返します。
(ちょっと表現がおかしい・・・?)
対策
env()関数はconfigファイル内だけで使うようにする!
config以外で使いたい場合は、一度configに定義した上で、config()関数で取得する!
です。
知っていればそれだけなんですが、知らないとハマる可能性高いので、あらかじめチームでは共有しておいた方がよいですね・・・![]()