PHP: Maximum execution time exceeded

Запрос выполняется слишком долго: причина может быть в БД, внешнем API, DNS/SMTP или тяжёлом цикле приложения.

Хостинг и серверПроверка по симптомам

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

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

  1. 1
    По стеку/логу определите, где запрос находился в момент timeout.
  2. 2
    Проверьте внешние HTTP/SMTP/DNS-вызовы — у них должны быть собственные короткие таймауты.
  3. 3
    Посмотрите медленные SQL-запросы и отсутствие индексов.
  4. 4
    Для фоновых тяжёлых задач не держите пользователя в одном HTTP-запросе.

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

Внешний сервис завис

Признак: Процесс ждёт сеть до общего PHP timeout.

Что делать: Задайте connect/read timeout и fallback.

Медленный SQL

Признак: Время уходит в БД.

Что делать: Оптимизируйте запрос и индексы.

Тяжёлая синхронная задача

Признак: Импорт/генерация выполняется в web request.

Что делать: Перенесите в очередь/CLI job.

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

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