PHP-файл обновлён, но выполняется старый код

Если файл на диске новый, а поведение старое, проверяем OPcache, process restart и то, какой путь реально исполняет vhost.

Кэш и обновленияПроверка по симптомам

Проверьте по порядку

Сначала локализуйте слой сбоя и только потом меняйте конфигурацию.

  1. 1
    Сверьте содержимое production-файла и точное время изменения.
  2. 2
    Убедитесь, что запрос обслуживает именно этот document root.
  3. 3
    Проверьте OPcache validate_timestamps/revalidate_freq или restart PHP-FPM.
  4. 4
    Не редактируйте generated-файл, если deploy потом восстанавливает старый source.

Как читать результат

OPcache держит старое

Признак: Файл новый, процесс выполняет прежний bytecode.

Что делать: Перезапустите/сбросьте OPcache и исправьте его политику.

Другой document root

Признак: Меняется не тот файл.

Что делать: Сверьте vhost и путь процесса.

Deploy откатывает правку

Признак: Ручная правка исчезает после публикации.

Что делать: Исправьте canonical source.

Сохраняйте наблюдаемую ошибку

Код ответа, заголовки и запись в логе полезнее случайного «починилось после перезапуска»: именно они показывают, какой слой действительно сломался.