为什么index.php在提供网页时被多次调用?



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

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

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

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

谢谢,)

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

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

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

另一方面,这是您应该只通过Zend生成动态内容的一个很好的理由。我遇到过开发人员通过Zend控制器提供所有服务的项目。考虑到调用Zend框架是多么的重量级和昂贵,这会严重影响站点的性能。

我也遇到了同样的问题。这是由于错误的RewriteRule在。htacces文件。我有这样的东西

#RewriteRule .* index.php

用" never mind"所提到的规则替换它可以解决问题(见上文)

相关内容

  • 没有找到相关文章

最新更新