Symfony4 不加载 .env

own*_*ing 1 nginx symfony4

与我的本地开发环境不同,我的产品(Debian、Nginx、PHP 7.1.22)环境未加载 .env 配置文件。

我总是收到 Symfony 错误:Environment variable not found

own*_*ing 8

只是想提一下我在网上找不到的问题的解决方案。

最后我检查了 .env 最初加载的 index.php 文件并发现以下几行:

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');
}
Run Code Online (Sandbox Code Playgroud)

意味着如果环境变量APP_ENV已在 Web 服务器配置中设置,则不会加载 .env。

所以我还检查了我网站的 nginx 配置并删除了 fpm env 配置行fastcgi_param APP_ENV "prod";

现在可以了。

希望这也能帮助你;)