使用 xhprof 分析 PHP 代码时,如何防止它破坏来自 JavaScript 客户端的 Ajax 调用?
Posted
技术标签:
【中文标题】使用 xhprof 分析 PHP 代码时,如何防止它破坏来自 JavaScript 客户端的 Ajax 调用?【英文标题】:When using xhprof profiling PHP code, how to prevent it from destroying the Ajax call from the JavaScript client? 【发布时间】:2010-11-18 01:55:30 【问题描述】:当我使用 xhprof 分析 php 代码时,它工作正常。 我参考了 Lorenzo Alberton 编写的文档,http://techportal.inviqa.com/2009/12/01/profiling-with-xhprof/。
但是您知道,我们在 Web 应用程序中总是有很多 Ajax 调用。当我尝试在本文中包含header.php
和footer.php
时,如何防止它破坏来自javascript 客户端的Ajax 调用?
【问题讨论】:
【参考方案1】:我也有同样的问题。我通过在 Ajax 响应脚本的顶部添加以下行来修复它。
global $_xhprof;
@$_xhprof['display'] = false;
【讨论】:
【参考方案2】:您是否尝试从代码中删除“Profiler 输出”链接? xhprof 不应该改变任何东西,因为它只是一个分析器。
您可以尝试使用 if !is_ajax 将其隐藏在 ajax 请求中。
function is_ajax()
return (isset($_SERVER['HTTP_X_REQUESTED_WITH']) AND
strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) === 'xmlhttprequest');
【讨论】:
是的,我只是想删除“Profiler Output”,但是当请求是 ajax 调用时如何才能删除它? 我已经更新了我的答案,希望它适用于您的代码。【参考方案3】:实现这一点的最佳方法是在您的config.php
(https://github.com/preinheimer/xhprof/blob/master/xhprof_lib/config.sample.php) 中编写异常 URL
应用程序不会在这些 URL 上显示页脚链接(该功能在设计时考虑到了这个用例)。
【讨论】:
以上是关于使用 xhprof 分析 PHP 代码时,如何防止它破坏来自 JavaScript 客户端的 Ajax 调用?的主要内容,如果未能解决你的问题,请参考以下文章