Мой веб-сайт успешно работает на 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
.
Обратите внимание, что запрос будет продолжать работать.