Есть ли какой-то кеш Laravel Controller?
У меня странная проблема с Laravel 5.5
Я могу обновить и даже удалить контроллер, и все же кажется, что кешированная / старая версия все еще вызывается.
Я пытался очистить кеш, очистить кеш маршрутов, очистить кеш конфигурации - похоже, не имеет никакого эффекта.
В моей локальной тестовой среде, если я удаляю файл контроллера, а затем пытаюсь получить к нему доступ, я сразу получаю ошибку not found. На моем производственном сервере у меня нет.
У кого-нибудь есть идеи или советы?
7 ответов
Вы можете попробовать запустить:
php artisan clear-compiled
а также
composer dump-autoload
а также
php artisan route:cache
и если вы запускаете очереди:
php artisan queue:restart
Также помните, что ошибки, которые вы получаете, могут отличаться в зависимости от APP_ENV
или же APP_DEBUG
в вашем .env
файл, но, возможно, это не так.
У меня такая же проблема. Как по мне, причина была в композиторе classLoader.
composer clear-cache
composer dump-autoload
У меня была такая же ошибка, все перепробовал, но не помогло. Наконец выяснилось, что браузер кэширует отправленный запрос на получение. Пробовал очистить данные приложения браузером, но это не помогло. Несмотря на то, что сайт просматривался в режиме инкогнито, он работал, как и ожидалось.
Наконец, я решил, добавив временную метку в такой запрос на получение, где произошло это кэширование.
href="{{route('my-route').'?timestamp='.\Illuminate\Support\Carbon::now()->toDateTimeString()}}"
У меня была такая же проблема из-за htaccess. Я прокомментировал эту строку, и проблема решена:
ExpiresDefault "доступ 2 дня"
Файлы были кешированы браузером:
## EXPIRES HEADER CACHING ##
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/jpg "access 1 year"
ExpiresByType image/jpeg "access 1 year"
ExpiresByType image/gif "access 1 year"
ExpiresByType image/png "access 1 year"
ExpiresByType text/css "access 1 month"
ExpiresByType application/pdf "access 1 month"
ExpiresByType application/javascript "access 1 month"
ExpiresByType application/x-javascript "access 1 month"
ExpiresByType application/x-shockwave-flash "access 1 month"
ExpiresByType image/x-icon "access 1 year"
##ExpiresDefault "access 2 days"
</IfModule>
## EXPIRES HEADER CACHING ##
В моем случае я сделал, как было предложено другими решениями, представленными здесь, но ничего не произошло. Мне пришлось обновить Wamp Server, который я использовал, и все, он снова начал работать нормально.
Однажды у меня была такая же проблема, потому что я поместил "CustomController2" вместе с "CustomController", просто потому, что я не хотел удалять предыдущую в случае сбоя.
Я удалил второй и очистил кеш маршрутов, и проблема была исправлена.
Хорошо, не знаю, в чем проблема, но удаление каталога "Http" в "Приложении" и повторный запуск сделали свое дело.