我有一个Laravel应用程序,它运行良好,但是每当我查看日志文件时,都会出现数百个错误
production.ERROR:未指定应用程序加密密钥。 {“ exception”:“ [对象](RuntimeException(code:0):未指定应用程序加密密钥。
存在于日志文件中。 。env
文件中有一个密钥,我也尝试了php artisan key:generate
命令,但是该错误仍然会在日志文件中生成,而用户看不到任何错误。
此错误仅出现在生产服务器的日志文件中,而不出现在我的开发PC中。
答案 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)
你需要做的就是
php artisan key:generate
参考
https://web-brackets.com/discussion/5/-solved-no-application-encryption-key-has-been-specified-
答案 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文件中。