错误:未指定应用程序加密密钥。但是它存在

时间:2018-10-25 09:20:35

标签: php laravel

我有一个Laravel应用程序,它运行良好,但是每当我查看日志文件时,都会出现数百个错误

  

production.ERROR:未指定应用程序加密密钥。 {“ exception”:“ [对象](RuntimeException(code:0):未指定应用程序加密密钥。

存在于日志文件中。 。env文件中有一个密钥,我也尝试了php artisan key:generate命令,但是该错误仍然会在日志文件中生成,而用户看不到任何错误。

此错误仅出现在生产服务器的日志文件中,而不出现在我的开发PC中。

9 个答案:

答案 0 :(得分:1)

php artisan key:generate 

这将生成一个随机密钥,您必须重新启动服务器,并且您应该不再看到错误消息。

运行以下命令以清除缓存。

php artisan config:clear
php artisan config:cache

答案 1 :(得分:1)

我整天都被这个问题困扰着,最终发现这是.env文件的权限问题。通过scp上传的文件没有读取权限。

chmod -744 .env

希望这可以帮助遇到相同问题的其他人。

答案 2 :(得分:0)

从您的config / app.php文件中检查“关键”变量,应该是

 'key' => env('APP_KEY'),

OR

像这样

'key' => "Your key",

然后重新启动您的php服务器。

答案 3 :(得分:0)

尝试以下命令:

composer install
php artisan key:generate
php artisan config:cache

答案 4 :(得分:0)

在.env中添加空的APP_KEY=,如果不存在则不添加值,然后在config.php内部运行bootstrap/cache删除php artisan key:generate

答案 5 :(得分:0)

我也遇到了很多搜索相同的问题,但是在YouTube视频评论中,我找到了一个解决方案(我不确定这个解决方案是否好),但对我有用。
从.env文件复制APP_KEY
和过去的app.php文件(位于:your_project \ config)
您的app.php看起来像

.
. 
.
‘key’ => env(‘APP_KEY’, ‘base64:insert key here’),
.
. 
.

答案 6 :(得分:0)

答案 7 :(得分:0)

如果您使用的是 ubuntu,请尝试授予权限: *chmod -R 777 **

查看此 link 我希望它对您有所帮助。

答案 8 :(得分:-1)

是的php artisan key:generate将为您生成密钥。在控制台中是这样的

$ php artisan key:generate Application key [base64:soAqqNW/Kk85OclhmCKXj+u4nZGF142gEZHEY0Y1NXA=] set successfully.

您需要复制此密钥并将其放入APP_KEY=参数中的.env文件中。