Laravel 5 очистить кеш просмотров

Я заметил, что Laravel кэширует представления, которые хранятся в ~/storage/framework/views, Сверхурочно, они съедают мое пространство. Как мне их удалить? Есть ли какая-нибудь команда, которая могла бы? Я старался php artisan cache:clear но это не очищает кеш просмотров. При этом я должен вручную удалить файлы в указанной папке.

Кроме того, как отключить кэширование просмотров?

5 ответов

Теперь есть php artisan view:clear Команда для этой задачи начиная с Laravel 5.1

Чтобы получить всю команду ремесленника, введите...

php artisan

Если вы хотите очистить кеш представления, просто используйте:

php artisan view:clear

Если вы не знаете, как использовать конкретную команду ремесленника, просто добавьте "помощь" (см. Ниже)

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

Чтобы ответить на дополнительный вопрос, как отключить кэширование просмотров:

Вы можете сделать это, автоматически удаляя файлы в папке для каждого запроса с помощью команды php artisan view:clear упомянутый DilipGurung. Вот пример класса Middleware от /questions/6439353/udalit-hranilische-laravel-prosmatrivat-fajlyi-pri-kazhdoj-perezagruzke/6439358#6439358

<?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);
    }
}

Однако вы можете заметить, что Larevel будет перекомпилировать файлы в папке /app/storage/views, когда время в файлах представлений будет раньше, чем время в файлах блейдов PHP для макета. Таким образом, я не могу действительно думать о сценарии, где это было бы необходимо сделать.

Прямо сейчас нет представления: команда 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

Очистить кеш в Laravel (Терминал)

Очистить кеш приложения

php artisan cache:clear

Очистить кеш маршрута

php artisan route:clear

Очистить кеш конфигурации

php artisan config:clear 

Очистить скомпилированные файлы просмотра

php artisan view:clear 

Очистить кеш в браузере Большинство провайдеров виртуального хостинга не предоставляют SSH-доступ к системам. В этом случае вы можете очистить кеш Laravel, вызвав URL-адрес в браузере. Вы можете просто поместить приведенный ниже код в свой файл routes / we b.php.

Route::get('/clear-cache', function() {
    Artisan::call('cache:clear');
    return "Cache is cleared";
});

Вот ссылка на ресурс https://tecadmin.net/clear-cache-laravel-5/

Вот помощник, который я написал для решения этой проблемы в моих проектах. Это позволяет очень просто и легко очистить все быстро и с помощью одной команды.

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

Другие вопросы по тегам