Laravel 5.2 未从 ubuntu 上的 .env 读取

Rag*_*a N 1 ubuntu http-status-code-500 laravel laravel-environment laravel-5.2

注意:这个问题不是这些问题的重复:

  1. Laravel 5.2 不读取 env 文件
  2. Laravel 5.2 .env 有时无法及时加载

我收到此错误:

production.ERROR: exception 'RuntimeException' with message 'No supported encrypter found. The cipher and / or key length are invalid.' in /home/coder/.local/share/Trash/files/myblog/vendor/laravel/framework/src/Illuminate/Encryption/EncryptionServiceProvider.php:45
Run Code Online (Sandbox Code Playgroud)

当我尝试时,dd($config['key']);它返回“null”。甚至数据库环境变量也返回空值。所以这意味着 Laravel 没有从 .env 文件中读取。

  1. 是什么原因?
  2. 如何解决这个问题?

现在我已经通过在 Config/app.php 文件中手动指定键并在 Config/database.php 文件中设置数据库值解决了这个问题

我怀疑我对 .env 文件的权限/所有者有误。我正在Elementary OS 中开发

Sph*_*olt 6

要确保.env正在读取文件的最新版本,请确保运行php artisan config:clear.

您可能还想运行php artisan key:generate为您的应用程序生成一个密钥(如果您还没有这样做的话)。同时检查您的密码是否正确AES-256-CBC也无妨config/app.php

如果这是本地开发环境,并且您认为.env文件权限可能有误,请像这样检查它们:

# Check the permissions
cd /path/to/app
ls -l -a

# IF required change the file permissions
sudo chmod 660 .env
Run Code Online (Sandbox Code Playgroud)

笔记

另请注意,根据您的开发环境,$_ENV可以在homestead.yaml或 等位置设置某些变量nginx.conf