如何让Laravel 5在Heroku上工作?

时间:2015-08-19 23:32:53

标签: php laravel heroku laravel-5

我之前已经让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,但是我对这些问题不太熟悉,知道可能导致这个问题的变化。

2 个答案:

答案 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