Laravel 5 清除视图缓存

Laravel 5 Clear Views Cache

我注意到 Laravel 缓存视图存储在 ~/storage/framework/views. 中,随着时间的推移,它们会吃掉我的 space。我该如何删除它们?有什么命令可以吗?我试过 php artisan cache:clear, 但它没有清除视图缓存。这样,我必须手动删除所述文件夹中的文件。

此外,如何禁用视图缓存?

目前没有view:clear命令。对于 laravel 4,这可能对您有所帮助:https://gist.github.com/cjonstrup/8228165

可以通过跳过 blade 来禁用缓存。视图缓存已完成,因为 blade 每次编译都是浪费时间。

自 Laravel 5.1

以来,此任务现在有一个 php artisan view:clear 命令

要获取所有 artisan 命令,请键入...

php artisan

如果要清除视图缓存,只需使用:

php artisan view:clear

如果您不知道如何使用特定的 artisan 命令,只需添加 "help"(见下文)

php artisan help view:clear

回答您的附加问题如何禁用视图缓存:

您可以通过使用 DilipGurung 提到的命令 php artisan view:clear 自动删除每个请求的文件夹中的文件来执行此操作。这是来自 https://whosebug.com/a/38598434/2311074

的示例中间件 class
<?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 blade 文件的时间,Larevel 就会重新编译 /app/storage/views 文件夹中的文件布局。因此,我真的想不出有必要这样做的场景。

请尝试以下命令:

sudo php artisan cache:clear

sudo php artisan view:clear

sudo php artisan config:cache

在终端中使用下面的命令

php artisan cache:clear
php artisan route:cache 
php artisan config:cache 
php artisan view:clear

这是我为解决我的项目的这个问题而写的一个帮助程序。只需一个命令即可快速清除所有内容,这让一切变得超级简单和容易。

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

在 Ubuntu 系统中尝试 运行 以下命令:

sudo php artisan cache:clear

sudo php artisan view:clear

sudo php artisan config:cache