Laravel 5ビューキャッシュをクリア


168

Laravelのキャッシュビューが~/storage/framework/views.時間の経過とともに保存されていることに気付きました。どうすれば削除できますか?できるコマンドはありますか?私は試しましたphp artisan cache:clear,が、ビューのキャッシュをクリアしていません。そのため、上記のフォルダー内のファイルを手動で削除する必要があります。

また、ビューのキャッシュを無効にするにはどうすればよいですか?


3
「時間の経過とともに、彼らは私のスペースを食べ尽くしてしまいます。」ありそうもない。私が管理している大きなLaravelアプリには、約500のルートに対して約300KBのキャッシュビューがあります。最近のサーバーではキャッシュされたビューが原因で不足することは決してありません。
ceejayoz 2015年

3
しかし問題は、私のホスティングプロバイダーがディスク領域の使用によって制限していないことです。代わりに、それはあなたが持っているファイルの数によって制限されています。だから私にとっては問題です。
basagabi 2015年

5
これは奇妙なことで、数百のファイルstorage/framework/viewsはの数千のファイルに次ぐものではありませんvendor。そのようなばかげた非常識な制限がないホストを入手してください。ファイル数による制限はありますか?WTF ?!
ceejayoz 2015年

そのための素晴らしいホスティングをお勧めできますか?共有ホスティングが望ましい。現在のホスティングプロバイダーの名前を共有できるかどうかはわかりません。しかし、それは大きな仲間です。
basagabi 2015年

1
私は、Herokuのようなところに行きたいと思います。あまり専門的でない場合は、Amazon Web Servicesを使います。現在のホストが、使用されている合計容量ではなく、ファイルの数を本当に制限している場合、それらは狂っています。
ceejayoz 2015年

回答:


278

php artisan view:clearLaravel 5.1以降、このタスク用のコマンドがあります


それを知ってよかった。私が気づいたことの1つは、時間の経過とともに、viewsフォルダーの下のキャッシュが削除されることです。xx日でそれらを削除するコードに何かありますか?
バサガビ2015

私はそれがそれより少し長いと信じています:)
オッドマン

29

すべての職人のコマンドを取得するには、次のように入力します...

php artisan

ビューのキャッシュをクリアしたい場合は、以下を使用してください:

php artisan view:clear

特定の職人コマンドの使用方法がわからない場合は、「ヘルプ」を追加してください(以下を参照)

php artisan help view:clear

11

以下のコマンドを試してください:

sudo php artisan cache:clear

sudo php artisan view:clear

sudo php artisan config:cache

2
メーカーは必ず場合artisan config:cacheというすべてのあなたの.env変数は介してアクセスされconfig()ていない、env()または、彼らはnullになります。
FlashJordan 2018

1
@FlashJordan config:cacheを実行する前にコメントを読みたいと思います。笑。config:cacheをぼんやりと実行している他の人は、bootstrap / cacheからconfig.phpを削除してください。
Tarek Adam

6

現在、view:clearコマンドはありません。laravel 4の場合、これはおそらく役に立ちます:https ://gist.github.com/cjonstrup/8228165

キャッシュを無効にするには、ブレードをスキップします。毎回ブレードをコンパイルすることは時間の無駄であるため、ビューのキャッシュが行われます。


私はこれについてここで良い説明を得ました。stackoverflow.com
questions / 31455829 /

6

ビューのキャッシュを無効にする方法に関する追加の質問に答えるには:

これを行うにはphp artisan view:clear、DilipGurungが述べたコマンドを使用して、要求ごとにフォルダー内のファイルを自動的に削除します。https://stackoverflow.com/a/38598434/2311074のミドルウェアクラスの例を以下に示します。

<?php
namespace App\Http\Middleware;

use Artisan;
use Closure;

class ClearViewCache
{
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     */
    public function handle($request, Closure $next)
    {
        if (env('APP_DEBUG') || env('APP_ENV') === 'local') 
            Artisan::call('view:clear');

        return $next($request);
    }
}

ただし、ビューのファイルの時刻がレイアウトのPHPブレードファイルの時刻よりも早い場合、Larevelは/ app / storage / viewsフォルダー内のファイルを再コンパイルすることに注意してください。したがって、これを行う必要があるシナリオを実際に考えることはできません。


2

Laravel(ターミナル)のキャッシュをクリアする

アプリケーションキャッシュをクリア

php artisan cache:clear

ルートキャッシュをクリア

php artisan route:clear

構成キャッシュをクリア

php artisan config:clear 

コンパイルされたビューファイルをクリアする

php artisan view:clear 

ブラウザのキャッシュをクリアするほとんどの共有ホスティングプロバイダーは、システムへのSSHアクセスを提供していません。その場合は、ブラウザーでURLを呼び出してLaravelキャッシュをクリアできます。以下のコードをroutes / web.phpに配置するだけです。

Route::get('/clear-cache', function() {
    Artisan::call('cache:clear');
    return "Cache is cleared";
});

ここにリソースリンクがありますhttps://tecadmin.net/clear-cache-laravel-5/



0

これは、私のプロジェクトでこの問題を解決するために私が書いたヘルパーです。非常にシンプルで、1つのコマンドですばやくすべてをクリアできるようになります。

https://github.com/Traqza/clear-everything


使用されている名前空間を見てください。正しいフォルダパスにあることを確認します。変更した場合は、適宜更新してください。@samjadps
lzoesch

私は私の名前空間を更新しました。何もせずに今すぐ機能するはずです。そのセットがconsole / commandsフォルダーにあることを確認してください。
lzoesch
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.