Laravel 不从不同的 env 文件中读取 env 变量

从 5.0 升级到 5.8 后,如果 env 与 .env 文件不同,laravel 将停止读取 env 变量。

例如,如果我有里面的.env文件USE_SSL=true。 env('USE_SSL')会是真的

但是如果我有.env文件指向另一个环境:

APP_ENV=dev

并且比我有.env.dev包含USE_SSL=true, 的文件env('USE_SSL')将为空。

  1. 我试过composer dump-autoloadphp artisan config:clear,而且php artisan config:cache- 没有运气。缓存与否,我无法获得价值。

  2. 我尝试将文件命名为 .dev.env 和 .env.dev - 没有运气。

任何想法,将不胜感激。


慕慕森
浏览 203回答 2
2回答

守候你守候我

好吧,如果你真的想这样做,Route::get('renderEnvChaining',function(){    $myCustomEnv = parse_ini_file(base_path(env('CUSTOM_ENV')));   return $myCustomEnv['USE_SSL']; // This will return true});在我的 .env 文件中,我提到了这一点,CUSTOM_ENV=.env.example现在我在默认 env.example 我把这个USE_SSL="true"  // This will return trueUSE_SSL=true    // This will return 1我刚刚发现 .ini 和 .env 遵循相同的值,所以我将 .env 文件解析为 .ini 文件,试试这个,我以前从未做过这件事,在将它运行到生产服务器之前,请与其他开发人员联系
打开App,查看更多内容
随时随地看视频慕课网APP