環境
- windows10
- DockerDesktop for Win 3.5.x
- Laravel 8.x
- PHP 8.x
- VsCode
- gitbash 2.32.0.1
キャッシュによる高速化
- Laravelでは以下のような流れで、設定ファイルをキャッシュすることにより、レスポンスの高速化を実現している
- キャッシュは以下のコマンドにより、bootstrap/cache/config.phpに生成される
php artisan config:cache
本題
.envファイルに設定した環境変数が反映されない場合は、以下のコマンドでキャッシュを削除すればよい
bootstrap/cache/config.phpが削除され、/confing以下の各設定ファイルを見に行くようになり、各設定ファイルでenv()で記述していれば、.envファイルに記述した環境変数を使用できるようになる
php artisan config:clear
設定ファイル以外の主なキャッシュ
config以外のキャッシュについてもまとめた
種類 | キャッシュ(ファイル)の場所 | コマンド |
ルーティング | bootstrap/cache/routes.php |
|
view(blade) | storage/framework/views |
|
アプリケーションのキャッシュ | storage/framework/cache/data |
|
サービスプロバイダ関連のキャッシュ | bootstrap/cache/services.php |
|
packageのキャッシュ(sanctumとか、tinkerとかのライブラリ) | bootstrap/cache/packages.php |
|
開発環境におけるキャッシュ
以下の記事でも取り上げましたが、開発環境ではソースコードを頻繁に修正し、その変更がすぐに反映されてほしいので、キャッシュは作成しないほうがよいです。
【Laravel8】開発環境で安易にconfigファイルのキャッシュを作成してはいけない話
ちなみに、以下のコマンドで上記で紹介したすべてのキャッシュを一括でクリアできます
php artisan optimize:clear
以上です。
まとめ
いかがでしたでしょうか。本記事では、Laravelにおけるキャッシュの仕組みと種類に応じた特徴をまとめています。キャッシュはうまく活用すれば便利ですが、特に初心者のうちは変更した内容が反映されない等の不具合を生じやすいのである程度仕組みを理解しておくことが必要になるかと思います。