Назад | Перейти на главную страницу

Разрешить PHP-FPM сообщать текущий номер строки скрипта по таймауту

Мой веб-сайт успешно работает на PHP-FPM с NGINX на Debian. Для NGINX период тайм-аута установлен на 300 секунд. Этого достаточно для большинства страниц, но некоторые скрипты застревают. Я не могу воспроизвести проблему при тестировании, поэтому хотел бы знать, где застрял скрипт. Может ли PHP-FPM сообщить номер последней строки при истечении времени ожидания?

Вы можете включить медленный журнал php-fpm. Если запрос занимает больше настраиваемого количества времени, php-fpm сбрасывает трассировку стека в файл журнала.

Пример конфигурации, которая входит в ваш файл конфигурации пула php-fpm:

slowlog = /var/log/php5/slow.log
request_slowlog_timeout = 5s

В этом случае любой запрос, который занимает более 5 секунд времени настенных часов, получит дамп стека в /var/log/php5/slow.log.

Обратите внимание, что запрос будет продолжать работать.