注意:这个问题不是这些问题的重复:
我收到了这个错误:
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文件中读取。
现在我通过在Config / app.php文件中手动指定密钥并在Config / database.php文件中设置数据库值来解决了这个问题
我怀疑我在.env文件中获得了权限/所有者错误。我正在开发Elementary OS
答案 0 :(得分: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
另请注意,根据您的开发环境,可以在$_ENV
或homestead.yaml
等位置设置一些nginx.conf
个变量。
答案 1 :(得分:0)
我经历了这一点。由于上述@Spholt提供了一些提示,其原因是apache(用户www-data)由于文件权限而无法读取.env。因此,我更改了文件权限,以确保服务器(Apache)具有对该文件的读取权限。就这样,繁荣起来,现在一切都正常了!