如何跟踪PHP中每行/每行/方法的执行时间?

时间:2013-07-15 10:17:18

标签: php ide workflow

是否有最佳实践(基于IDE?),PHP / bash脚本或其他

  • 获取一行的执行时间
  • 获取一行代码的执行时间(例如第17行到第42行)
  • 获取某个功能或方法的执行时间
PHP中的

?我目前仍然坚持使用microtime()的自建解决方案,但这是一个肮脏,不方便和缓慢的方法。我对Eclipse,Netbeans,PHPStorm和VIM等主要PHP IDE的解决方案特别感兴趣。一个完美的解决方案是跟踪整个应用程序的工具,并为每一行,每个方法和每个自定义操作块提供执行时间跟踪。

我会提供50点赏金。

1 个答案:

答案 0 :(得分:7)

您正在寻找:http://xdebug.org/docs/profiler。您可以将netbeans设置为附加到php进程,而不是逐步运行脚本,查看当前变量内容并分析其运行时间。

只需将dll添加到其他php扩展,由php ini配置:

; xdebug
zend_extension = "C:\php\v5.4\ext\php_xdebug-2.2.3-5.4-vc9-nts.dll"
xdebug.remote_enable=on
;xdebug.remote_log="/var/log/xdebug.log"
xdebug.remote_host=localhost
xdebug.remote_handler=dbgp
xdebug.remote_port=9000
xdebug.profiler_enable=1
xdebug.profiler_output_dir="C:\dev\profilling\"

Netbeans设置:

enter image description here

然后在netbeans中按Ctrl + F5(调试)。您可以逐步运行脚本并观察当前变量值:

enter image description here

要浏览生成的分析器,请在Windows中使用http://sourceforge.net/projects/precompiledbin/http://sourceforge.net/projects/wincachegrind/,或在http://kcachegrind.sourceforge.net/html/Home.html中使用Linux。