188

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

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

4

8 回答 8

324

php artisan view:clear从 Laravel 5.1 开始,现在有一个用于此任务的命令

于 2015-07-24T21:09:06.133 回答
37

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

php artisan

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

php artisan view:clear

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

php artisan help view:clear
于 2017-06-28T06:04:25.780 回答
18

please try this below command :

sudo php artisan cache:clear

sudo php artisan view:clear

sudo php artisan config:cache
于 2018-08-17T05:56:04.853 回答
7

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

您可以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 文件夹中的文件。因此,我真的想不出有必要这样做的场景。

于 2017-10-03T16:16:56.307 回答
6

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

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

于 2015-03-19T19:12:16.460 回答
6

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

sudo php artisan cache:clear

sudo php artisan view:clear

sudo php artisan config:cache
于 2020-08-05T10:01:36.193 回答
3

在终端中使用下面的命令

php artisan cache:clear
php artisan route:cache 
php artisan config:cache 
php artisan view:clear
于 2019-06-18T09:44:55.613 回答
0

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

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

于 2020-01-13T05:54:47.490 回答