我之前已经让Laravel在Heroku上工作,但是按照相同和/或类似的步骤,我似乎不再为我工作了。
安装Windows 10后,我安装了全新的Laravel 5(因此您了解这实际上是全新的)。我安装了Homestead,检查了Laravel应用程序在Homestead上工作,然后推送到Heroku。更新信息如下:
通过CLI:
heroku buildpacks:set https://github.com/heroku/heroku-buildpack-php
heroku config:set LARAVEL_ENV=heroku
heroku run composer update
添加了Procfile:
web: vendor/bin/heroku-php-apache2 public
这结束于服务器显示:
糟糕,看起来出了问题。
如何在Heroku上启用调试或找出问题所在?我查看了Laravel的更改日志,看起来自从我上次这样做以来他们已经从5.1升到5.1.4,但是我对这些问题不太熟悉,知道可能导致这个问题的变化。
答案 0 :(得分:5)
我明白了。随着新的Laravel更新到5.1.4,增加了一些额外的安全性。这意味着16 char appkey不再有效。很多人都发现在Config中编辑app.php有帮助。
配置/ app.php
'key' => env('APP_KEY', 'SomeRandomStringSomeRandomString'),
' SomeRandomStringSomeRandomString'实际上允许应用程序运行。这是一个32字符键,这是新的最小值。希望这有助于每个人。我知道当我之前的方法不再有用时,我遇到了很多挫折。
另请注意,这意味着您所处的环境没有自己的appkey。可能需要为安全性生成新的32char密钥。
答案 1 :(得分:3)
根据您的回答,这似乎是在本地设置应用程序密钥的正确方法。首先,确保您的环境文件存在于项目的根目录中:
cp .env.example .env
然后在应用程序中设置加密密钥:
php artisan key:generate
对于非开发安装,您可能希望在Apache vhost中设置此环境变量(以及任何其他变量,例如数据库连接字符串):
SetEnv APP_KEY SomeRandomStringSomeRandomString