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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Laravel 5.2不是在ubuntu上从.env上读取的相关的知识,希望对你有一定的参考价值。

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

  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开发

答案

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

另一答案

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

以上是关于Laravel 5.2不是在ubuntu上从.env上读取的的主要内容,如果未能解决你的问题,请参考以下文章

在 Ubuntu 系统安装 Redi laravel 5.2 引入第三方类

5分钟在Mac上从0配置安装laravel5.5

我将如何在后台运行 Laravel 5.2 的队列监听器?

Laravel 5.2 高 cpu 和长路线

Laravel 5.2 中一个路由中的多个路由参数模式

身份验证问题 Laravel 5.2 登录仅在本地工作