php活动日志,查看正在执行的文件

时间:2011-03-01 16:46:55

标签: php webserver

有没有办法在PHP中查看活动进程(比如正在执行哪些文件)?

4 个答案:

答案 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)函数可能就是您正在寻找的,您可以调用应用程序的起点,以获得一个完整的调用树,包括已解析的文件和已执行的函数,累积时间和文件/行位置。