我注意到Laravel缓存视图存储在~/storage/framework/views.
随着时间的流逝,它们会占用我的空间。如何删除它们?有没有可能的命令?我试过了,php artisan cache:clear,
但是没有清除视图缓存。这样,我必须手动删除该文件夹中的文件。
另外,如何禁用视图缓存?
storage/framework/views
与中的成千上万个文件仅相差无几vendor
。获得一个没有荒谬疯狂限制的主机。是否受文件数量限制?WTF ?!
我注意到Laravel缓存视图存储在~/storage/framework/views.
随着时间的流逝,它们会占用我的空间。如何删除它们?有没有可能的命令?我试过了,php artisan cache:clear,
但是没有清除视图缓存。这样,我必须手动删除该文件夹中的文件。
另外,如何禁用视图缓存?
storage/framework/views
与中的成千上万个文件仅相差无几vendor
。获得一个没有荒谬疯狂限制的主机。是否受文件数量限制?WTF ?!
Answers:
php artisan view:clear
从Laravel 5.1开始,现在有一个用于此任务的命令
请尝试以下命令:
sudo php artisan cache:clear
sudo php artisan view:clear
sudo php artisan config:cache
artisan config:cache
了所有.env
变量config()
,env()
否则它们将为null。
现在没有view:clear命令。对于laravel 4,这可能可以帮助您:https ://gist.github.com/cjonstrup/8228165
可以通过跳过刀片来禁用缓存。之所以执行视图缓存,是因为每次刀片编译都浪费时间。
要回答您的其他问题,如何禁用视图缓存:
为此,您可以使用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文件夹中的文件。因此,我真的无法想到需要这样做的情况。
清除Laravel(终端)中的缓存
清除应用程序缓存
php artisan cache:clear
清除路线缓存
php artisan route:clear
清除配置缓存
php artisan config:clear
清除编译的视图文件
php artisan view:clear
在浏览器中清除缓存大多数共享托管提供程序都不提供对系统的SSH访问。在这种情况下,您可以通过在浏览器中调用URL来清除Laravel缓存。您可以简单地将以下代码放在您的route / web.php中。
Route::get('/clear-cache', function() {
Artisan::call('cache:clear');
return "Cache is cleared";
});