我有一个实时网站,我希望有一个像PHP profiler这样的选项,只能根据请求执行(即在向URL添加一个param时,如?_profiler = on)。
我知道在现场运行完整的分析器是非常难看的事情,但我想检查哪些功能在执行时需要时间。
我只需要调用类(动作)中的函数,我需要记录函数完成时的开始时间和结束时间,并计算总时间。
我正在寻找一个简单的PHP分析器,这样我就可以包含基类库,只需在控制器中启动分析器实例,然后自动查看动作中的每个函数调用并更新所花费的时间。
有人知道这种PHP分析器吗?请帮忙查一下,或者有人能让我知道如何做到这一点?
答案 0 :(得分:1)
我在php.ini(或php.d / xdebug.ini)中使用XDebug探查器和以下选项:
xdebug.profiler_enable=0
xdebug.profiler_enable_trigger=1
这意味着默认情况下默认情况下禁用探查器,但是当您在获取查询中添加“?XDEBUG_PROFILER”(例如site.com/page?XDEBUG_PROFILE)时,xdebug将开始分析并创建适当的日志文件。您可以使用xdebug.profiler_output_dir选项指定它们的放置位置。
然后,您可以使用一些Web前端应用程序来解析xdebug日志文件。好的是:
http://code.google.com/p/webgrind/
您需要在Web服务器上安装它。它基于xdebug.profiler_output_dir选项并自动获取日志文件。