Zend Framework 11.1.9动作执行了两次

时间:2011-08-08 04:50:27

标签: zend-framework

我正在使用Zend Framework并遇到myAction()被调用两次的问题。在花了很多时间寻找具有相同经验的其他开发人员后,似乎人们已经解决了一些主要问题。之一:

- *。css / * .js文件或者favicon没有找到,所以我把apache访问日志fiel放在了没有显示的东西上。

- 然后我查找了任何css中引用的不存在的图像。那里也没有运气。

- 最后我发现使用ZFDebug的人遇到了问题,但由于我没有使用它或安装它,这是我无法解决的问题。

如果有人知道我可以尝试解决这个问题,如果你愿意与我分享,我将不胜感激。


更新:

kinghfb和菲尔,

非常感谢您的回复。

您的信息非常清晰,并且都是非常好的建议。我仔细检查了我所有的css和js文件,因为我并没有真正使用partials,但有视图助手,这也是一个简单的检查。所有都至少4k,没有一个是空的。我也尝试过菲尔建议的改变:

SetEnv APPLICATION_ENV development

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]

为:

SetEnv APPLICATION_ENV development

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]

哪个也没解决我的问题。我之前没有说过,当我在动作中禁用布局时它只运行一次。还有其他建议吗?

2 个答案:

答案 0 :(得分:3)

我遇到了同样的问题,并找到了类似于你描述的解决方案(Zend Debug,favicon.ico等等)。但是,我没有运行任何这些东西。

您需要检查的是所有请求的文件实际存在并且大于0字节(JS,CSS,图像和-importantly-模板文件),否则系统将找不到它并尝试引导再次申请。这是因为当请求的文件是>时,默认的mod_rewrite设置仅绕过引导程序。 0字节。

希望这清楚并有所帮助:)

答案 1 :(得分:1)

非常感谢这个回答kinghfb,你为我节省了很多时间......

在我的布局文件中,我有3个(导致控制器执行3次):

<img src="path/path/file.jpg" >

我不得不这样做:

<img src="/path/path/file.jpg" >

我发现这种方式是通过写入我的控制器中的文件(只做回声不显示)