在Laravel 5.2中重新加载.env常量

时间:2016-06-16 03:30:45

标签: laravel laravel-5.2 laravel-forge

我刚刚更改了.env文件中的常量。使用php-cli(通过修补程序)可以正确显示新值,但不能在我的Web应用程序(php-fpm)中显示。

到目前为止,我已按照建议尝试了所有内容:

sudo service nginx restart
sudo service php7.0-fpm restart
sudo service php7.0-fpm reload

php artisan config:cache

这将在bootstrap / cache / config.php

中生成缓存配置文件
php artisan config:clear

这将删除bootstrap / cache / config.php

中的缓存配置文件
php artisan cache:clear

到底是做什么用的?它清楚了什么类型的缓存?

php artisan clear-compiled

这个明确的编译类

composer dump-autoload

这将生成/更新作曲家自动加载文件。

我有一些不属于任何配置文件的.env变量。因此,运行任何工匠命令对我来说都是无用的。

上述php artisan命令都没有直接处理$ _ENV。

似乎$ _ENV存储在服务器的某个位置,并且一旦填充了属性,laravel就无法更新它。

我发现的唯一解决方案是重启服务器。

我正在运行Laravel Forge实例。

2 个答案:

答案 0 :(得分:8)

如果它被缓存并且您需要重新加载它,您只需使用:

php artisan config:clear

这将引入您以后所做的任何更改。

答案 1 :(得分:2)

尝试删除文件上的配置:Bootstrap / cache / config.php

你也可以尝试:php artisan config:cache或php artisan cache:clear