Как предотвратить Laravel 5.8 от кеширования контроллеров - PullRequest
1 голос
/ 21 января 2020

После перемещения с сервера AWS Linux 2 / Apache на Ubuntu 14.2 / NGINX Laravel вывод контроллера кэшируется.

При обновлении кода в контроллере и его сохранении постоянно занимает более 30 секунд, прежде чем новые изменения будут отражены в браузере. Я создал тестовую функцию с контроллером и включил случайную строку, чтобы увидеть, кэшируется ли веб-вывод контроллера или сам код контроллера. При быстром обновлении страницы случайная строка всегда изменяется, но если я обновляю вывод stati c, он не изменяется.

Вот шаги

1. Вызовите функцию ниже из маршрута к контроллеру, где он живет.

`public static function test_function() {
    echo(str_random(32));
    echo('<br>Line 1');
    //echo('<br>Line 2');
}`

Вывод браузера:

d3SomhsJ0KfUKgvd1aSwwzI3d0y8w0Zx
Линия 1

2 , Раскомментируйте echo('<br>Line 2'); и сохраните файл.

Обновленный вывод:

6BZCh9xbvvYFUz1uOQP8wCyDQxfrFblU
Строка 1

3. Через 30 секунд

Обновленный вывод:

xpKXULHxWmTIrcneESKEJHDn4AO3HthV
Строка 1
Строка 2

Иногда это занимает около 40 секунд.

Обновление контроллеров и тестирование теперь занимает вечность.

Вот что я пытался решить проблему, но безрезультатно: запустите команду php artisan cache:clear и php artisan route:clear Измените значение opcache.revalidate_freq=30 на 0 в php .in, затем перезапустите nginx

Помощь!

...