Laravel 5 清除视图缓存

问题描述 投票:0回答:8

我注意到 Laravel 缓存视图存储在

~/storage/framework/views.
随着时间的推移,它们会耗尽我的空间。我该如何删除它们?有什么命令可以吗?我尝试了
php artisan cache:clear,
但它没有清除视图缓存。这样,我必须手动删除该文件夹中的文件。

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

php caching laravel laravel-5 laravel-artisan
8个回答
346
投票

从 Laravel 5.1 开始,现在有一个

php artisan view:clear
命令可以完成此任务


38
投票

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

php artisan

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

php artisan view:clear

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

php artisan help view:clear

21
投票

请尝试以下命令:

sudo php artisan cache:clear

sudo php artisan view:clear

sudo php artisan config:cache

10
投票

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

sudo php artisan cache:clear

sudo php artisan view:clear

sudo php artisan config:cache

7
投票

回答您的其他问题如何禁用视图缓存:

您可以使用 DilipGurung 提到的命令

php artisan view:clear
自动删除每个请求的文件夹中的文件来完成此操作。这是来自 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 文件夹中的文件。因此,我真的无法想象有必要这样做的场景。


6
投票

现在没有 view:clear 命令。对于 laravel 4 这可能可以帮助你:https://gist.github.com/cjonstrup/8228165

可以通过跳过刀片来禁用缓存。做了视图缓存是因为刀片每次编译都是浪费时间。


5
投票

在终端中使用以下命令

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

1
投票

这是我为我的项目解决这个问题而编写的一个助手。它使得它变得超级简单和容易,能够通过一个命令快速清除所有内容。

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

© www.soinside.com 2019 - 2024. All rights reserved.