Значение в .env изменено, docker compose restart прошёл, приложение видит старое.
Поменяли переменную, перезапустили контейнер — работает по-старому. Restart не пересоздаёт контейнер, а переменные окружения задаются только при создании.
Конфиг изменён в примонтированном файле, nginx -s reload проходит, поведение прежнее.
reload перечитывает конфиг, но не всегда тот, который вы правили. Разбор, почему bind-mount ведёт себя не так, как ожидается.
Файл изменён, страница отдаёт старое. Сброс opcache не помогает.
Первое подозрение всегда падает на кэш байткода. В половине случаев виноват владелец файла, и лечится это не перезапуском.
Те же ключи: в тесте авторизация проходит, на стенде с APP_ENV=production — отвергается.
Интеграция авторизуется в тесте и не авторизуется на стенде с production-настройкой. Это не баг конфигурации, а защита, которая работает как задумано.
Разбор того, почему план отката пишется до выката, а не после аварии, и как отличить настоящий откат от воображаемого.