将 laravel 应用程序部署到共享主机并出现 "No application encryption key has been specified." 错误

Deploy a laravel application to shared hosting and get "No application encryption key has been specified." error

我正在尝试在共享主机上部署我的 laravel 5.7 应用程序,但得到 "No application encryption key has been specified."。我 运行 php artisan key:generate 在我的本地主机上并在重新部署应用程序后,但没有工作。

有什么问题吗?

如果您已经运行php artisan key:generate,那么运行php artisan config:clear清除配置缓存。

I run php artisan key:generate on my localhost and after re-deployed the application, but didn't work.

.env 通常不会(也不应该 曾经 )部署为源代码的一部分。 Laravel 的 .gitignore 阻止 .env 被签入源代码管理,因为它可能包含高度敏感的信息,例如,不应签入 Github.

您需要 运行 php artisan key:generate 在您的主机上 (或向其上传 .env 文件)。您还需要使用其他关键详细信息(例如数据库密码)填写您主机上的 .env 文件 - 您在 localhost 上定义的任何内容也需要在您的主机上定义。

我遇到了同样的问题,但经过大量搜索后我找到了解决方案。
我不确定这是不是一个好的解决方案,因为我不是网络开发人员, 无论如何把下面的代码放在project-name\config\app.php

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

从 .env 文件复制密钥