PHP: Maximum execution time exceeded
Запрос выполняется слишком долго: причина может быть в БД, внешнем API, DNS/SMTP или тяжёлом цикле приложения.
Проверьте по порядку
Сначала локализуйте слой сбоя и только потом меняйте конфигурацию.
- 1По стеку/логу определите, где запрос находился в момент timeout.
- 2Проверьте внешние HTTP/SMTP/DNS-вызовы — у них должны быть собственные короткие таймауты.
- 3Посмотрите медленные SQL-запросы и отсутствие индексов.
- 4Для фоновых тяжёлых задач не держите пользователя в одном HTTP-запросе.
Как читать результат
Внешний сервис завис
Признак: Процесс ждёт сеть до общего PHP timeout.
Что делать: Задайте connect/read timeout и fallback.
Медленный SQL
Признак: Время уходит в БД.
Что делать: Оптимизируйте запрос и индексы.
Тяжёлая синхронная задача
Признак: Импорт/генерация выполняется в web request.
Что делать: Перенесите в очередь/CLI job.
Сохраняйте наблюдаемую ошибку
Код ответа, заголовки и запись в логе полезнее случайного «починилось после перезапуска»: именно они показывают, какой слой действительно сломался.