我正在使用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]
哪个也没解决我的问题。我之前没有说过,当我在动作中禁用布局时它只运行一次。还有其他建议吗?
答案 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" >
我发现这种方式是通过写入我的控制器中的文件(只做回声不显示)