Laravel 5.6.环境值解析为(未知)

Laravel 5.6.环境值解析为(未知),laravel,laravel-5.6,Laravel,Laravel 5.6,我的.env文件中有以下值: APP_IMG_PATH="/img/" APP_IMG_LOGO="sclogo.png" 然后在我的标题中,我这样做: <img src="{!! env('APP_IMG_PATH') . env('APP_IMG_LOGO') !!}" class="navbar-logo"/> 但结果是一样的。非常感谢您的帮助。将新内容添加到env文件后,您需要清除缓存 php artisan config:clear php artisan config

我的.env文件中有以下值:

APP_IMG_PATH="/img/"
APP_IMG_LOGO="sclogo.png"
然后在我的标题中,我这样做:

<img src="{!! env('APP_IMG_PATH') . env('APP_IMG_LOGO') !!}" class="navbar-logo"/>

但结果是一样的。非常感谢您的帮助。

将新内容添加到env文件后,您需要清除缓存

php artisan config:clear
php artisan config:cache

将新内容添加到env文件后,需要清除缓存

php artisan config:clear
php artisan config:cache

配置缓存禁用env()调用。缓存配置后,对env()的任何调用都将返回null

也许Laravel团队的选择很糟糕,但其目的是鼓励您在代码中使用config(),而不是env()

相反,在config/app.php中添加新行(如果您选择的话):


然后重新创建配置缓存,并在应用程序中使用
config('app.img\u path')
config('app.img\u logo')

配置缓存禁用env()调用。缓存配置后,对env()的任何调用都将返回null

也许Laravel团队的选择很糟糕,但其目的是鼓励您在代码中使用config(),而不是env()

相反,在config/app.php中添加新行(如果您选择的话):


然后重新创建配置缓存,并在应用程序中使用
config('app.img_path')
config('app.img_logo')

如果配置缓存是问题,这仍然不起作用。如果配置缓存是问题,这仍然不起作用。的确!正如Laravel docs所说:如果在部署期间使用config:cache命令,则必须确保只从配置文件中调用env函数,而不是从应用程序中的任何其他地方调用。如果您是从应用程序内部调用env,强烈建议您向配置文件中添加适当的配置值,并从该位置调用env,从而允许您将env调用转换为配置调用。确实!正如Laravel docs所说:如果在部署期间使用config:cache命令,则必须确保只从配置文件中调用env函数,而不是从应用程序中的任何其他地方调用。如果您是从应用程序中调用env,强烈建议您向配置文件中添加适当的配置值,并从该位置调用env,从而将env调用转换为config调用。
php artisan config:clear
php artisan config:cache
'img_path' => env('APP_IMG_PATH'),
'img_logo' => env('APP_IMG_LOGO'),