【发布时间】:2018-10-09 20:32:31
【问题描述】:
与我的本地开发环境不同,我的产品(Debian、Nginx、PHP 7.1.22)环境未加载 .env 配置文件。
我总是收到 Symfony 错误:Environment variable not found。
【问题讨论】:
与我的本地开发环境不同,我的产品(Debian、Nginx、PHP 7.1.22)环境未加载 .env 配置文件。
我总是收到 Symfony 错误:Environment variable not found。
【问题讨论】:
只是想提一下我在网上找不到的问题的解决方案。
最后我检查了 index.php 文件是否最初加载了 .env 并发现以下几行:
if (!isset($_SERVER['APP_ENV'])) {
if (!class_exists(Dotenv::class)) {
throw new \RuntimeException('APP_ENV environment variable is not defined. You need to define environment variables for configuration or add "symfony/dotenv" as a Composer dependency to load variables from a .env file.');
}
(new Dotenv())->load(__DIR__.'/../.env');
}
意味着如果 env var APP_ENV 已经在 Web 服务器配置中设置,则不会加载 .env。
所以我还检查了我网站的 nginx 配置并删除了 fpm env 配置行 fastcgi_param APP_ENV "prod";
现在可以了。
希望这对你也有帮助;)
【讨论】: