LoginSignup
70

More than 5 years have passed since last update.

Laravel .envを変更しても反映されない時の対処

Posted at

前提

・本番サーバー(1台)へのデプロイをこんな感じのシェルスクリプトで行っている。

#!/usr/bin/env bash

git fetch origin
git reset --hard origin/master
/usr/local/bin/composer update --no-interaction --no-dev
php artisan migrate --force
php artisan route:cache
php artisan config:cache

・.envはサーバー上で直接変更しているか自動デプロイとは別でアップしている。

・なんらかのデプロイツールを使い.envを毎回作成してる場合は今回の問題は起こらない。

問題

この状態でなにが起こるかというと.envを変更しても反映されない。
原因はphp artisan config:cacheでキャッシュしてるから。
例えばAPP_KEYを変更したとしてもbootstrap/cache/config.phpが優先されるので無効。

対処

.envを変更した後にphp artisan config:cacheで解決。

感想

最近はAWS Elastic Beanstalkばかりだったので気付かなかった…。
ebだと管理画面から環境変数で設定して念のためさらに.envを毎回作成してる。
環境変数変えると必ず再デプロイなのでそこでconfig:cacheもされて問題発生しなかった。
手元からgit push→GitLab→CIでテスト→eb deployは本当に楽。

一度だけLaravelプロジェクトを共有サーバーにFTPでアップという原始時代みたいなこともやっただけど今更これはもう無理…。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
70