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/
Вот помощник, который я написал для решения этой проблемы в моих проектах. Это позволяет очень просто и легко очистить все быстро и с помощью одной команды.