在IE8中页面未完全加载(html源切断)

时间:2010-12-15 12:18:20

标签: php apache internet-explorer

我有一个奇怪的问题:我有一个PHP应用程序,可以在所有常见的浏览器中使用。但有些页面没有在IE8中完全加载。如果我查看源代码,它可以更少地随机切断,并且有一半的html源丢失,有时在标记的中间。

奇怪的是,它只出现在一些IE设备上(在一家大公司中),而在其他设备上(我会说它占多数)它正在运行。

如果我查看apache错误日志,它会说:

[notice] child pid 9393 exit signal Segmentation fault (11)

我不知道它是否以某种方式相关,但同一页面(使用相同参数调用)如何在一台机器上工作而不在另一台机器上工作(可重复)?

如果浏览器在内部崩溃或者服务器真的崩溃并只提供一半的html源代码,那么IE中的某些渲染问题我没有一个线索。

(不幸的是,我无法提供一个示例,因为它发生在尚未发布的Web项目上)


更新:我做了一些测试:

  1. 在Debian机器上升级Apache2,PHP5,libPHP5。更新,激活,停用xdebug,使用apach mod_header模拟请求标头(用户代理) - 仍然是同样的问题。老实说,我不确定,如果seg故障与IE只提供一半内容的问题有关。
  2. 这还可以归因于病毒扫描程序吗?有没有人知道IE没有服务器错误时只获得一半源代码的情况?

3 个答案:

答案 0 :(得分:3)

如果您的Apache日志说其中一个工作进程是segfaulted,那么这不是客户端问题。无论客户端做什么,都不应该导致服务器崩溃。

问题可能与IE8有关,但只是间接 - IE8在访问页面时可能会发出不同的请求模式,或者至少发送一个不同的User-Agent字符串,服务器可能会使用不同的代码路径。

尝试升级您的Apache版本。如果这不起作用,请检查Apache中的配置错误,例如错误的扩展模块。如果不这样做,请检查服务器硬件是否存在缺陷。

答案 1 :(得分:1)

对不起,没有回答,如果是我,我会......

1)配置php进行自动前置(除非已经有一个 2)编写一个包含文件来捕获不完整的页面加载(在ignore_user_abort,connection_status和register_shutdown_function中有一个llok)

如果您的代码可以检测到问题的发生,那么它与segfault无关。

您也可以尝试安装mod_security,它可以记录发布变量并在请求开始时记录日志条目 - 因此您可以调查段错误。

答案 2 :(得分:0)

经过几天的调试(更新的服务器软件,移动到另一台机器等),我们终于遇到了问题。这是一个非常旧的Novell边界管理器安装,某种代理。分段错误似乎与此无关。

如果有人有类似的问题,这里有两个相关的帖子:

http://www.novell.com/support/search.do?cmd=displayKC&docType=kc&externalId=7007318&sliceId=1&docTypeID=DT_TID_1_1

http://forums.novell.com/novell-product-support-forums/access-manager-3/428004-access-manager-showing-partial-content-page-post2058485.html