Herokuでデプロイをしたときにエラーに遭遇したので備忘録のために残します。
500ServerError
このエラーの原因は様々あるみたい?で原因究明が難しいという記事が多かったです。
Webサーバー側に何らかの問題が発生しているとのこと。
今回、私が作成しているのがLaravelのアプリケーションなのですが同じようなエラーでアプリ作成直後に500Errorが出ている方のエラーは.envが存在しないから
というものが多かったのですが、私の場合はデプロイ後のエラーなので違うよなーと思いつつ。
でも原因は同じ.env系では?と思いながらググって探していたらありました。
LaravelをHerokuにデプロイするまでに最低限やる事。
上記の記事では
Laravelの.env はgit管理外なので、Heroku用の.env.heroku を用意しておき、デプロイの際にHerokuサーバー内で.env.heroku を.env にコピーするようにします
とあり、さらにcomposer.json
に追記しないと500エラーが出るよとのことでした。
私は公式の通りにアプリを作成したのですが、元々.env.example
というファイルが存在していたのでこちらを利用し、composer.jsonに追記しました。
"scripts": {
"post-autoload-dump": [
"Illuminate\\Foundation\\ComposerScripts::postAutoloadDump",
"@php artisan package:discover --ansi"
],
"post-root-package-install": [
"@php -r \"file_exists('.env') || copy('.env.example', '.env');\""
],
"post-create-project-cmd": [
"@php artisan key:generate --ansi"
],
//以下を追加
"compile": [
"@php -r \"file_exists('.env') || copy('.env.example', '.env');\""
]
}
こちらで解決できました!
ありがとうござます!