为什么在服务网页时多次调用index.php?

时间:2011-11-19 10:56:53

标签: php zend-framework netbeans xdebug

我遇到了一个问题,我首先与我的PHP调试器(xDebug)设置有关,直到我发现我必须在IDE(NetBeans)中单击继续(F5) 6次,直到该页面显示。

注意:我在index.php中的PHP第一行中断。当然,如果你在index.php ...

中有一个断点,就会发生同样的事情

有人可以解释这种影响的原因和/或追踪它的可能性吗?

谢谢;)

2 个答案:

答案 0 :(得分:2)

如果您正在加载的页面包含也作为Zend控制器的结果输出的资产,则调试器将针对其中的每一个启动。例如,假设您通过Zend控制器提供javascript和CSS文件,这样无论出于何种原因它都可以将一些动态块注入其中,每次加载使用它们的页面时,都会调用index.php和各种事物Zend确实会解析URL。

当您尝试引用不存在的资源时,也会发生这种情况。设计的重写规则是这样设计的,任何不解析为文件系统中实际文件的请求都将触发Zend index.php脚本。

如果您的页面上有任何Zend生成的资源或者链接到不存在的资源,那么您将看到多次调用index.php脚本。

另一方面,这是你应该只通过Zend生成动态内容的一个很好的理由。我遇到了开发人员通过Zend控制器提供服务的项目。鉴于Zend框架的重量级和昂贵性,这可以真正打击网站的性能。

答案 1 :(得分:1)

我遇到了同样的问题。它是由.htacces文件中的错误RewriteRule引起的。我有类似的东西

#RewriteRule .* index.php

将其替换为“nevvermind”提到的规则解决问题(见上文)