Laravelの設定ファイル(config/*.php)のキャッシュ関係の仕様を簡単に
php artisan config:cache
でデフォルトではbootstrap/cache/config.php
にconfig/*.php
から読み込まれた設定のキャッシュが生成される。
config:cache
は最初にconfig:clear
するため、再実行した場合はキャッシュが再生成される。
config:clear
は単純にbootstrap/cache/config.php
を削除する。
config:cache
を実行していない環境で勝手に設定がキャッシュされ、.env
の変更が反映されなくなることは基本的にない。
例外として、php artisan optimize
が内部でconfig:cache
も叩いているので、これを使ってしまった可能性が一つ。
もう一つ、php artisan serve
で動かしている場合、バグにより設定のキャッシュとは無関係に.env
の変更が反映されない。参考
ということでまとめると、
- 本番環境・ステージング環境等では
config:cache
をデプロイごとに自動で実行する。 - 開発環境で間違って
config:cache
してしまった場合はconfig:clear
するだけでいい。 php artisan serve
で開発してる場合はあきらめて.env
の更新ごとにサーバを再起動する。- あるいは、
artisan
を通さず普通にphp -S 127.0.0.1:8000 server.php
する。
- あるいは、
これだけ覚えておけばよさそう。それでも引っかかる場合は、別のキャッシュが効いているのかも。