我注意到 Laravel 缓存视图存储在
~/storage/framework/views.
随着时间的推移,它们会耗尽我的空间。我该如何删除它们?有什么命令可以吗?我尝试了 php artisan cache:clear,
但它没有清除视图缓存。这样,我必须手动删除该文件夹中的文件。
另外,如何禁用视图缓存?
从 Laravel 5.1 开始,现在有一个
php artisan view:clear
命令可以完成此任务
要获取所有 artisan 命令,请输入...
php artisan
如果你想清除视图缓存,只需使用:
php artisan view:clear
如果您不知道如何使用特定的 artisan 命令,只需添加“帮助”(见下文)
php artisan help view:clear
请尝试以下命令:
sudo php artisan cache:clear
sudo php artisan view:clear
sudo php artisan config:cache
在 Ubuntu 系统中尝试运行以下命令:
sudo php artisan cache:clear
sudo php artisan view:clear
sudo php artisan config:cache
回答您的其他问题如何禁用视图缓存:
您可以使用 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 文件夹中的文件。因此,我真的无法想象有必要这样做的场景。
现在没有 view:clear 命令。对于 laravel 4 这可能可以帮助你:https://gist.github.com/cjonstrup/8228165
可以通过跳过刀片来禁用缓存。做了视图缓存是因为刀片每次编译都是浪费时间。
在终端中使用以下命令
**php artisan cache:clear**
**php artisan route:cache **
**php artisan config:cache**
**php artisan view:clear**
这是我为我的项目解决这个问题而编写的一个助手。它使得它变得超级简单和容易,能够通过一个命令快速清除所有内容。