Laravel 5.2不是在ubuntu上从.env上读取的

问题描述 投票:1回答:2

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

  1. Laravel 5.2 not reading env file
  2. Laravel 5.2 .env sometimes doesn't load in time

我收到这个错误:

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

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

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

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

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

laravel ubuntu laravel-5.2 http-status-code-500 laravel-environment
2个回答
4
投票

为了确保您正在阅读最新版本的.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

Note

另请注意,根据您的开发环境,可以在$_ENVhomestead.yaml等地方设置一些nginx.conf变量。


0
投票

我经历过这个。由于@Spholt上面提供的一些提示,原因是apache(用户www-data)由于文件权限而无法读取.env。所以我更改了文件权限以确保服务器(apache)具有对文件的读取权限。只是那个和繁荣,现在一切正常!

© www.soinside.com 2019 - 2024. All rights reserved.