以下代码适用于我的开发环境(Ubuntu 14.04桌面)
@if(env('APP_ENV') === 'production')
// ... something
但由于某种原因,生产中的刀片视图(ubuntu 14.04服务器)无法获取env变量。
如果我运行php artisan env
,响应就可以了:当前的应用环境:生产
数据库连接正常。从控制器调用的env()帮助器也可以工作。
到目前为止我尝试了什么:
php artisan clear:cache
php artisan config:cache
php artisan clear:cache
php artisan view:clear
我也多次重启apache,没有结果。
有什么建议吗? 谢谢!
答案 0 :(得分:12)
所以,我做到了。
php artisan config:clear
成功了。
php artisan config:clear
php artisan cache:clear
service apache2 restart
(以防万一)我猜问题是:
我第一次运行php artisan config:cache
我的.env文件时APP_ENV =本地。所以我必须清除配置缓存才能获得新的env vars值。
答案 1 :(得分:0)
而不是env()
使用\Config::get()
或config()
。
https://laravel.com/docs/5.4/configuration#configuration-caching
答案 2 :(得分:0)
我解决了这个问题:
rm bootstrap/cache/config.php