有没有办法在PHP中查看活动进程(比如正在执行哪些文件)?
答案 0 :(得分:2)
在linux中你可以安装apachetop。这个奇妙的工具扫描您的网络服务器日志文件,显示正在调用哪些文件它有一些很好的指标,如显示哪些IP访问哪些脚本。或哪些是最受欢迎的脚本和文件被调用。
另一种选择是使用列出打开文件的lsof
,但随着文件的打开和关闭相当快,它可能无法提供帮助
这是一个观看所有打开的php文件的命令
watch -n1 "lsof | grep '\.php'"
watch -n1
是一个每秒重复运行一个命令的命令
命令为lsof | grep '\.php'
表示列出所有打开的文件,仅显示文件名中带有.php的文件
我在慢速网络服务器上运行它并且什么都没看到,但我测试了它并且确实有效。可能是脚本被打开和关闭的速度太快,以至于命令错过了它们。
DC
答案 1 :(得分:2)
我发现确定执行哪些文件的最简单方法是安装the APC cache。由于PHP脚本被缓存,它可以报告已执行/正在执行的文件。
答案 2 :(得分:0)
活动进程与正在执行的文件不同。您可以使用htop或top之类的东西来查看正在运行的进程。
get_included_files()将有助于第二部分http://php.net/manual/en/function.get-included-files.php
答案 3 :(得分:0)
如果您正在进行性能分析/调试,the Advance PHP Debugger (APD)函数可能就是您正在寻找的,您可以调用应用程序的起点,以获得一个完整的调用树,包括已解析的文件和已执行的函数,累积时间和文件/行位置。