Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/253.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
EclipsePHP分析器-如何获取参数?_Php_Eclipse_Profiling_Profiler - Fatal编程技术网

EclipsePHP分析器-如何获取参数?

EclipsePHP分析器-如何获取参数?,php,eclipse,profiling,profiler,Php,Eclipse,Profiling,Profiler,通过使用Eclipse的PHP Profiler,我发现我的代码中有一个瓶颈,该瓶颈与一个被多次调用的方法有关。问题是,我无法说出传递给方法的参数是什么,以确定如何重现症状 我尝试过围绕探查器报告的代码,用整整一秒钟的时间完成以下操作: $startTime = microtime(true); $safe_text = wp_check_invalid_utf8( $text ); $endTime = microtime(true); $time = $endTime - $startTim

通过使用Eclipse的PHP Profiler,我发现我的代码中有一个瓶颈,该瓶颈与一个被多次调用的方法有关。问题是,我无法说出传递给方法的参数是什么,以确定如何重现症状

我尝试过围绕探查器报告的代码,用整整一秒钟的时间完成以下操作:

$startTime = microtime(true);
$safe_text = wp_check_invalid_utf8( $text );
$endTime = microtime(true);
$time = $endTime - $startTime;
if ($time > .05) {
    error_log('Time: ' . $time . ' text [' . $text . ']');
}
我从来没有在错误日志中对此进行过一次点击,但是探查器将继续报告一次,因为它需要整整一秒钟的时间才能完成。在浏览器中刷新页面确实表明速度明显缓慢


我在代码的3个不同区域中遇到了同样的问题,了解在方法运行缓慢时传递给它们的内容可能有助于解决问题。当间歇慢速方法运行时,有没有办法确定传递给它的是什么?

可以使用Eclipse用于分析的xdebug进行设置,但是,它在默认情况下是禁用的,因为在进行大量调用或传递大型数据结构的项目中记录这些数据会很快占用您的可用内存


我建议您按照当前的方式进行手动日志记录,尽管我会首先测量所有调用wp\u check\u invalid\u utf8的总时间,以确保您确实在这一部分有问题,而这不仅仅是Eclipse探查器本身造成的问题。一旦您确定总时间超过您想要的时间,然后开始记录各个调用及其参数。

您是否尝试
var\u dump
ing您的$startTime和$endTime变量?您是否使用xdebug进行配置?@Rikudo否。但是我已删除if($time>.05)条件并手动验证所有$time结果,每个结果只需几毫秒。@Gerry没有。看起来我正在使用Zend调试器。@Levinaris Zend调试器中关于探查器的文档似乎更少,因此我的答案中的建议仍然是我能提供的最好的,我相信这是正确的解决方案。将来您可能会想看看XHProf,因为它是我迄今为止使用过的最好的php分析器(尽管仍然没有提供调用级别细分):感谢您提供的信息——很遗憾,目前还没有更好的解决方案。我期待着有硬件支持该选项。