どうも、こんにちわ。
以前、Laravelで.envファイルを更新しても反映されない時の対処法を下記の記事で紹介させていただきましたが、今回は.envファイルだけでなくControllerファイル等その他のファイルも含めて更新が反映されないときの基本的な対処方を紹介したいと思います。
なお、Laravelとはなんぞやという方は下の記事を参照してください。
環境
なお、今回のLaravel環境は以下の通りとなります。
今回の環境
- Laravel 5.5
キャッシュのクリア
Laravelはファイルを更新しても反映されない時があります。
その原因として、まず挙げられるのがキャッシュになります。
基本的なアプリケーションのキャッシュクリア
Laravelでは負荷軽減や高速化の目的のためにフレームワーク内部でキャッシュを保持しているので、まずはこのキャッシュをクリアしてみます。
php artisan cache:clear
これでアプリケーションのキャッシュに関してはクリアされます。
Configキャッシュのクリア
主にenvファイル等の設定値になりますが、上記の方法でも更新が反映されない場合は、念の為Config系のキャッシュをクリアしてみましょう。
php artisan config:clear
Configキャッシュのクリア
.envファイルの更新が反映されないときの対処法の記事でも紹介しましたが、上記の方法でも反映されない場合があります。
そんな時は「bootstrap/cache/config.php」のファイルを一旦削除してみます。
rm -f bootstrap/cache/config.php
ルーティング系のキャッシュクリア
続いて、ルーティング系のファイルの更新が反映されない場合は下記のコードでルーティング系のキャッシュをクリアしてみます。
php artisan route:clear
View系のキャッシュクリア
テンプレートにあたるViewのファイルの更新が反映されない場合は、下記のコードも試してみましょう。
php artisan view:clear
キーを作り直してみる
上記の方法を全て試してもダメな場合は、キーを作り直して旧キャッシュ情報をクリアしてみましょう。
php artisan key:generate
Composerをアップデートしてみる
全て試してみてもダメなときはComposerをアップデートしてみましょう。
例えばController系のファイルなど、一旦バックアップのつもりで頭にアンダースコアを付与してファイル名を変更したりした場合、そちらのファイルを読みに行ってる場合があります。正しいファイルを読み込ませるためにも一旦そういったファイルは削除した上で、Composerをアップデートしてみましょう。
composer update
キャッシュを作り直してみる
ちなみに、キャッシュを丸っと作り直したい場合はComposerでオートローディングしてオプティマイズをすることで丸ごと作り直すことができます。
composer dump-autoload
php artisan clear-compiled
php artisan optimize
php artisan config:cache
まとめ
ということで、今回はLaravelのファイルを更新しても反映されないときの基本的な対処法をまとめてみました。
高速化や負荷軽減などに役立つキャッシュですが、時としてその便利さが逆に働く場合があります。
そんな時は、上記の方法を一旦試してみると解決するかもしれません。
それでは、今回はここまで!また!