Laravel 5 clear views cache

2019-01-08 09:30发布

I notice that Laravel cache views which is stored in ~/storage/framework/views. Overtime, they get to eat up my space. How do I delete them? Is there any command that could? I tried php artisan cache:clear but it is not clearing the views cache. With that, I have to manually delete the files in the said folder.

Also, how do I disable the views caching?

5条回答
混吃等死
2楼-- · 2019-01-08 10:10

There is now a php artisan view:clear command for this task since Laravel 5.1

查看更多
地球回转人心会变
3楼-- · 2019-01-08 10:12

To get all the artisan command, type...

php artisan

If you want to clear view cache, just use:

php artisan view:clear

If you don't know how to use specific artisan command, just add "help" (see below)

php artisan help view:clear
查看更多
太酷不给撩
4楼-- · 2019-01-08 10:21

To answer your additional question how disable views caching:

You can do this by automatically delete the files in the folder for each request with the command php artisan view:clear mentioned by DilipGurung. Here is an example Middleware class from 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);
    }
}

However you may note that Larevel will recompile the files in the /app/storage/views folder whenever the time on the views files is earlier than the time on the PHP blade files for the layout. THus, I cannot really think of a scenario where this would be necessary to do.

查看更多
你好瞎i
5楼-- · 2019-01-08 10:22

please try this below command :

sudo php artisan cache:clear

sudo php artisan view:clear

sudo php artisan config:cache

Hope it will work for you.

查看更多
乱世女痞
6楼-- · 2019-01-08 10:23

Right now there is no view:clear command. For laravel 4 this can probably help you: https://gist.github.com/cjonstrup/8228165

Disabling caching can be done by skipping blade. View caching is done because blade compiling each time is a waste of time.

查看更多
登录 后发表回答