Laravel 5清除视图缓存

bas*_*abi 156 php caching laravel laravel-5 artisan

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

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

小智 251

php artisan view:clear从Laravel 5.1开始,现在有一个命令可以执行此任务


Jak*_*can 26

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

php artisan
Run Code Online (Sandbox Code Playgroud)

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

php artisan view:clear
Run Code Online (Sandbox Code Playgroud)

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

php artisan help view:clear
Run Code Online (Sandbox Code Playgroud)


小智 10

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

sudo php artisan cache:clear

sudo php artisan view:clear

sudo php artisan config:cache
Run Code Online (Sandbox Code Playgroud)


小智 8

请尝试以下命令:

sudo php artisan cache:clear

sudo php artisan view:clear

sudo php artisan config:cache
Run Code Online (Sandbox Code Playgroud)

希望它能为你效劳.

  • 确保你的 `artisan config:cache` _all_ 你的 `.env` 变量是通过 `config()` 而不是 `env()` 访问的,否则它们将为空。 (2认同)

Ada*_*dam 7

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

您可以使用php artisan view:clearDilipGurung提到的命令自动删除每个请求的文件夹中的文件.以下是/sf/answers/2701890411/的中间件类示例

<?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);
    }
}
Run Code Online (Sandbox Code Playgroud)

但是,您可能会注意到,只要视图文件上的时间早于布局的PHP刀片文件上的时间,Larevel就会重新编译/ app/storage/views文件夹中的文件.那么,我真的不能想到有必要做的事情.


Arj*_*ten 6

现在没有观点:明确命令.对于laravel 4,这可能对您有所帮助:https://gist.github.com/cjonstrup/8228165

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


Udd*_*wal 5

在终端中使用以下命令

php artisan cache:clear
php artisan route:cache 
php artisan config:cache 
php artisan view:clear
Run Code Online (Sandbox Code Playgroud)