如何使用 Xdebug 分析单个 php 文件?
Posted
技术标签:
【中文标题】如何使用 Xdebug 分析单个 php 文件?【英文标题】:How to use Xdebug to profile a single php file? 【发布时间】:2012-12-31 22:49:48 【问题描述】:我想使用 Xdebug 来分析单个 php 文件。来自Xdebug documentation,据说
通过在 php.ini 中将 xdebug.profiler_enable 设置为 1 来启用分析。这指示 Xdebug 开始将分析信息写入使用 xdebug.profiler_output_dir 指令配置的转储目录。
我试过了,但是 Xdebug 会生成很多配置文件日志。我没有测试环境,只能使用生产服务器。我想知道有没有办法设置只测试一页?
有什么建议吗?
---2013 年 2 月 11 日更新---------------------------
最后我选择facebook / xhprof 作为我的生产服务器分析器。我现在每天都使用 xhprof_html。它节省了大量时间并且非常易于使用,尤其是 Full Callgraph 视图。
【问题讨论】:
所以你在生产服务器上有 xdebug。很好,我一直想要一个。 生产服务器上Xdebug的问题是什么?当我不需要它时,我可以禁用它。 【参考方案1】:使用触发器http://xdebug.org/docs/all_settings#profiler_enable_trigger 并将其添加到您的网址。即http://example.com/mypage.php?XDEBUG_PROFILE=1
此外,在生产环境中进行分析时,XHProf 优于 XDebug:https://github.com/facebook/xhprof
【讨论】:
感谢 XHProf 的生产【参考方案2】:xdebug 配置中有另一个选项可以执行此操作:xdebug.profiler_enable_trigger
。将其设置为 1,然后使用查询字符串后缀 ?XDEBUG_PROFILE
打开要分析的 URL。然后它将仅为该脚本编写一个日志。
【讨论】:
如果您想在 CLI 中分析单个会话,请改用环境变量export XDEBUG_CONFIG="idekey=session_name profiler_enable=1
。以上是关于如何使用 Xdebug 分析单个 php 文件?的主要内容,如果未能解决你的问题,请参考以下文章
使用 KCacheGrind 聚合 PHP XDebug 数据
Visual Studio Code如何使用XDebug进行php断点调试?