首页 > 解决方案 > 使用 Heroku 部署 Laravel 站点时出现错误 500

问题描述

我正在尝试使用 Heroku 部署我的网站。我使用 Laravel 6 创建了站点。部署进行得很顺利,但是当我尝试打开我的站点时,出现错误 500。我找不到任何问题,请您指导我找到根本原因并最终解决它吗?

2020-03-20T21:36:45.046621+00:00 heroku[web.1]: State changed from down to starting

2020-03-20T21:36:45.042846+00:00 heroku[web.1]: Unidling

2020-03-20T21:36:49.111583+00:00 heroku[web.1]: Starting process with command `vendor/bin/heroku-php-apache2 public/`

2020-03-20T21:36:52.831320+00:00 app[web.1]: DOCUMENT_ROOT changed to 'public/'

2020-03-20T21:36:52.942370+00:00 app[web.1]: Detected 536870912 Bytes of RAM

2020-03-20T21:36:52.979231+00:00 app[web.1]: PHP memory_limit is 128M Bytes

2020-03-20T21:36:52.992073+00:00 app[web.1]: Starting php-fpm with 4 workers...

2020-03-20T21:36:53.372095+00:00 heroku[web.1]: State changed from starting to up

2020-03-20T21:36:53.134132+00:00 app[web.1]: Starting httpd...

2020-03-20T21:36:54.437872+00:00 heroku[router]: at=info method=GET path="/" host=born.herokuapp.com request_id=8d35e95d-3ac1-41bb-bd6f-cf601c89c0f8 fwd="86.68.15.24" dyno=web.1 connect=1ms service=345ms status=500 bytes=1786 protocol=https

2020-03-20T21:36:54.441186+00:00 app[web.1]: 10.99.209.116 - - [20/Mar/2020:21:36:54 +0000] "GET / HTTP/1.1" 500 1562 "https://dashboard.heroku.com/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:74.0) Gecko/20100101 Firefox/74.0

我发现了这个日志

2020-03-21T11:27:01.722880+00:00 app[web.1]: 10.181.29.40 - - [21/Mar/2020:11:27:01 +0000] "GET / HTTP/1.1" 500 1562 "https://dashboard.heroku.com/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:74.0) Gecko/20100101 Firefox/74.0

2020-03-21T11:27:01.723771+00:00 app[web.1]: [2020-03-21 11:27:01] production.ERROR: The only supported ciphers are AES-128-CBC and AES-256-CBC with the correct key lengths. {"exception":"[object] (RuntimeException(code: 0): The only supported ciphers are AES-128-CBC and AES-256-CBC with the correct key lengths. at /app/vendor/laravel/framework/src/Illuminate/Encryption/Encrypter.php:43)

2020-03-21T11:27:01.723804+00:00 app[web.1]: [stacktrace]

2020-03-21T11:27:01.724139+00:00 app[web.1]: #0 /app/vendor/laravel/framework/src/Illuminate/Encryption/EncryptionServiceProvider.php(28): Illuminate\\Encryption\\Encrypter->__construct()

2020-03-21T11:27:01.724507+00:00 app[web.1]: #1 /app/vendor/laravel/framework/src/Illuminate/Container/Container.php(799): Illuminate\\Encryption\\EncryptionServiceProvider->Illuminate\\Encryption\\{closure}()

2020-03-21T11:27:01.724800+00:00 app[web.1]: #2 /app/vendor/laravel/framework/src/Illuminate/Container/Container.php(681): Illuminate\\Container\\Container->build()

2020-03-21T11:27:01.725096+00:00 app[web.1]: #3 /app/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(785): Illuminate\\Container\\Container->resolve()

2020-03-21T11:27:01.725405+00:00 app[web.1]: #4 /app/vendor/laravel/framework/src/Illuminate/Container/Container.php(629): Illuminate\\Foundation\\Application->resolve()

2020-03-21T11:27:01.725683+00:00 app[web.1]: #5 /app/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(770): Illuminate\\Container\\Container->make()

2020-03-21T11:27:01.725962+00:00 app[web.1]: #6 /app/vendor/laravel/framework/src/Illuminate/Container/Container.php(945): Illuminate\\Foundation\\Application->make()

2020-03-21T11:27:01.726271+00:00 app[web.1]: #7 /app/vendor/laravel/framework/src/Illuminate/Container/Container.php(873): Illuminate\\Container\\Container->resolveClass()

2020-03-21T11:27:01.726593+00:00 app[web.1]: #8 /app/vendor/laravel/framework/src/Illuminate/Container/Container.php(834): Illuminate\\Container\\Container->resolveDependencies()

2020-03-21T11:27:01.726881+00:00 app[web.1]: #9 /app/vendor/laravel/framework/src/Illuminate/Container/Container.php(681): Illuminate\\Container\\Container->build()

2020-03-21T11:27:01.727212+00:00 app[web.1]: #10 /app/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(785): Illuminate\\Container\\Container->resolve()

2020-03-21T11:27:01.727521+00:00 app[web.1]: #11 /app/vendor/laravel/framework/src/Illuminate/Container/Container.php(629): Illuminate\\Foundation\\Application->resolve()

2020-03-21T11:27:01.727814+00:00 app[web.1]: #12 /app/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(770): Illuminate\\Container\\Container->make()

2020-03-21T11:27:01.728122+00:00 app[web.1]: #13 /app/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(209): Illuminate\\Foundation\\Application->make()

2020-03-21T11:27:01.728457+00:00 app[web.1]: #14 /app/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(183): Illuminate\\Foundation\\Http\\Kernel->terminateMiddleware()

2020-03-21T11:27:01.728665+00:00 app[web.1]: #15 /app/public/index.php(60): Illuminate\\Foundation\\Http\\Kernel->terminate()

2020-03-21T11:27:01.728711+00:00 app[web.1]: #16 {main}

标签: laravelheroku

解决方案


这是相关的错误消息:

唯一受支持的密码是具有正确密钥长度的 AES-128-CBC 和 AES-256-CBC。在 /app/vendor/laravel/framework/src/Illuminate/Encryption/Encrypter.php:43

看起来你的APP_KEY设置不正确。

在开发中,这可能会通过您的.env文件设置,该文件不应包含在您的存储库中。该文件只是开发中设置环境变量的一种便捷方式;Heroku通过 config vars 原生支持环境变量

要么生成一个新文件,要么APP_KEY从你的文件中复制一个.env文件,然后通过运行在 Heroku 上设置它

heroku config:set APP_KEY=<your_key>

或通过门户网站。


推荐阅读