我们来看看是否出于某种原因,您的代码在同一个请求/流程中被调用了两次,或者是否处理了两个(不是这样)单独的请求。
$output = "<"."?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); ?".">\n\n";
$output .= print_r($events, 1);
$output .= "\nTotal Doctrine time: " . $time . "\n";
$output .= "Peak Memory: " . memory_get_peak_usage() . "\n";
function dbgFoo() {
static $a = 0;
return ++$a;
}
$output .= 'debug counter: ' . dbgFoo() . "\n";
// edit: forgot the $return parameter for print_r
$output .= 'POST=' . print_r($_POST, 1);
$output .= 'GET=' . print_r($_GET, 1);
$output .= 'callstack: ' . print_r(debug_backtrace(), 1) . "\n\n\n";
file_put_contents(BASEPATH."/logs/doctrine_profiler.php", $output, FILE_APPEND);
如果在同一个PHP实例/请求中两次调用代码,则调试计数器输出应为>1。也许调用堆栈可以帮助您找到应用程序选择调用代码的地方…再次。
否则,post和get的输出可能指示为什么有两个HTTP请求。也许你的浏览器中有一个插件会引起第二个请求?例如,Ajax请求和旧的Firebug版本存在问题。