Php Zend框架操作被调用两次

Php Zend框架操作被调用两次,php,zend-framework,Php,Zend Framework,我们正在尝试使用zend框架构建应用程序,但遇到以下问题:“一些控制器操作被调用两次。这意味着这些操作被调用,完成其执行,然后再次被调用” 我们通过检查日志文件中的条目来跟踪这一点。对于一个请求,日志文件中有两个条目 您知道可能导致此问题的原因吗?这是否与前端控制器的调度过程有关 这可能是一个bug。没有更多的信息很难说 尝试在每次调用action方法时记录回溯 <?php trigger_error(var_export(debug_backtrace(), true)); trigge

我们正在尝试使用zend框架构建应用程序,但遇到以下问题:“一些控制器操作被调用两次。这意味着这些操作被调用,完成其执行,然后再次被调用”

我们通过检查日志文件中的条目来跟踪这一点。对于一个请求,日志文件中有两个条目

您知道可能导致此问题的原因吗?这是否与前端控制器的调度过程有关


这可能是一个bug。没有更多的信息很难说

尝试在每次调用action方法时记录回溯

<?php
trigger_error(var_export(debug_backtrace(), true));
trigger_error(var_export($_SERVER, true));
?>

这将在错误日志中为您提供大量信息,因此您需要将结果导出到文本编辑器并在那里咀嚼。和/或可能修改代码以打印更少的信息

有几件事需要注意:

  • 动作方法是从不同的地方调用的吗
  • $\u服务器['UNIQUE\u ID'](或请求时间)是否不同

如果唯一id不同,那么您已经向服务器发出了两个请求。如果没有,请尝试从回溯中找出原因。

向前或操作堆栈可能是为了推理,并尝试使用调试器(例如XDebug)查看代码的运行方式。
关注调度程序,一定发生了什么事情,请求操作未设置为已调度,因此它会再次运行。

我们遇到了类似的问题。有些行动执行了两次。经过多次调试和谷歌搜索,发现问题是ZFdebug中的一个bug。安装完毕,一切恢复正常。希望这对其他人有所帮助。

我发现在启用Chrome扩展Webug(Google Chrome的FireHP扩展)时,有两次请求采取行动。

我正在使用Chrome 17.0.x、Webug和Zend Framework 1.11.1,但仍然看到这个问题。我按照建议禁用了Webug,该操作只调用了一次


所以,我认为这是Webug中的一个bug

也许你的动作在某处调用了另一个函数,那就是再次调用同一个动作?我遇到了同样的问题,这花了我很多时间。我最终觉得这是一个非常讨厌的笑话。我无法告诉你这有多大帮助。当我看到这条线时,我正要放弃这条线。非常感谢。让这个分机提出第二个请求真是一团糟。呼。无论如何,非常感谢。这也是我的问题。谢谢,伙计,双重请求让我发疯了,但确实是FireHP(在我的例子中,在Firefox中)--更正,我在FF中没有FireHP,是FireBug本身触发了第二次呼叫。我为Webug中的此错误道歉-在当前版本中已修复。