Есть ли способ увидеть активные процессы в PHP (например, какие файлы выполняются)?
Журнал активности php, чтобы посмотреть, какие файлы выполняются
Ответ 1
В linux вы можете установить apachetop. Этот чудесный инструмент сканирует ваши файлы журналов веб-сервера, показывающие, какие файлы вызывают, имеет некоторые отличные показатели, например, показ того, к какому ip доступа относятся сценарии. или которые являются наиболее популярными сценариями и вызываемыми файлами.
Другим вариантом является использование lsof
, в котором перечислены открытые файлы, но поскольку файлы открываются и закрываются довольно быстро, это может не помочь
вот команда просмотра всех открытых php файлов
watch -n1 "lsof | grep '\.php'"
watch -n1
- это команда, которая несколько раз выполняет команду каждую секунду
Команда lsof | grep '\.php'
что означает список всех открытых файлов и отображать только те, у которых есть .php в имени файла
Я запускал это на медленном веб-сервере и ничего не видел, но я тестировал его, и он работает. Возможно, скрипты открываются и закрываются так быстро, что команда их пропускает.
DC
Ответ 2
Самый простой способ определить, какие файлы выполняются, - установить кеш APC. Поскольку php-скрипты кэшируются, он может сообщать файлы, которые/выполняются.
Ответ 3
активные процессы - это не то же самое, что и исполняемые файлы. вы можете использовать что-то вроде htop или top, чтобы увидеть запущенные процессы.
get_included_files() поможет со второй частью http://php.net/manual/en/function.get-included-files.php
Ответ 4
Если вы профилируете/отлаживаете, функции Advance PHP Debugger (APD) могут быть тем, что вы ищете, вы можете вызвать стартовую точки вашего приложения, чтобы иметь полное дерево вызовов, включая проанализированные файлы и выполняемые функции, с кумулятивными временами и местоположениями файлов/строк.