【发布时间】:2015-05-24 17:59:49
【问题描述】:
我的 apache 服务器正在向浏览器发送不完整和损坏的内容。据估计,95% 的回答是不正确的。似乎 apache 发送了请求数据的某些部分(随机或相对长度),然后发送了响应的副本。
它看起来怎么样?
假设我正在请求 jquery.js 文件。文件的一部分被发送到浏览器,然后有响应的标题数据,然后是文件的内容。当达到文件大小(第一个响应的内容长度)时,内容数据结束。
这是一张用于可视化的图片
几乎所有要发送到浏览器的内容都会发生这种情况,包括 PHP 生成的内容。起初我以为只有较大的文件被损坏(如 83kB 的 jquery 文件),但 PHP 生成的 HTML 内容也被损坏,其大小不大于 10kB。
当对 HTML 内容的响应损坏时,在下载显示的内容后 5 秒内正在下载内容,并且 chrome webdeveloper 工具中的控制台显示:
net::ERR_INCOMPLETE_CHUNKED_ENCODING
什么时候开始的?
近一个月一切正常(自从安装 wampserver 以来)。在我注意到这个问题之前,计算机的最后一次已知变化是使用 PIP 和 Hyde 工具安装 Python27。
我该如何解决?我从昨天早上开始就一直在研究它,但我离解决方案还很远。
感谢您的帮助
编辑:
来自 apache 错误日志的示例(今天)。我确实手动重启了。
[Sat Mar 21 10:22:46.519391 2015] [mpm_winnt:notice] [pid 1760:tid 532] AH00455: Apache/2.4.9 (Win64) PHP/5.5.12 configured -- resuming normal operations
[Sat Mar 21 10:22:46.534418 2015] [mpm_winnt:notice] [pid 1760:tid 532] AH00456: Apache Lounge VC11 Server built: Mar 16 2014 12:42:59
[Sat Mar 21 10:22:46.535402 2015] [core:notice] [pid 1760:tid 532] AH00094: Command line: 'C:\\Program Files\\wamp\\bin\\apache\\apache2.4.9\\bin\\httpd.exe -d C:/Program Files/wamp/bin/apache/apache2.4.9'
[Sat Mar 21 10:22:46.538403 2015] [mpm_winnt:notice] [pid 1760:tid 532] AH00418: Parent: Created child process 5612
[Sat Mar 21 10:22:46.857571 2015] [mpm_winnt:notice] [pid 5612:tid 452] AH00354: Child: Starting 64 worker threads.
[Sat Mar 21 10:27:52.586368 2015] [mpm_winnt:notice] [pid 1760:tid 532] AH00422: Parent: Received shutdown signal -- Shutting down the server.
[Sat Mar 21 10:27:54.588487 2015] [mpm_winnt:notice] [pid 5612:tid 452] AH00364: Child: All worker threads have exited.
[Sat Mar 21 10:27:54.628495 2015] [mpm_winnt:notice] [pid 1760:tid 532] AH00430: Parent: Child process 5612 exited successfully.
[Sat Mar 21 10:32:45.603700 2015] [mpm_winnt:notice] [pid 4732:tid 532] AH00455: Apache/2.4.9 (Win64) PHP/5.5.12 configured -- resuming normal operations
[Sat Mar 21 10:32:45.604701 2015] [mpm_winnt:notice] [pid 4732:tid 532] AH00456: Apache Lounge VC11 Server built: Mar 16 2014 12:42:59
[Sat Mar 21 10:32:45.604701 2015] [core:notice] [pid 4732:tid 532] AH00094: Command line: 'C:\\Program Files\\wamp\\bin\\apache\\apache2.4.9\\bin\\httpd.exe -d C:/Program Files/wamp/bin/apache/apache2.4.9'
[Sat Mar 21 10:32:45.607701 2015] [mpm_winnt:notice] [pid 4732:tid 532] AH00418: Parent: Created child process 6684
[Sat Mar 21 10:32:45.930932 2015] [mpm_winnt:notice] [pid 6684:tid 452] AH00354: Child: Starting 64 worker threads.
临时解决方案:
在 Chrome DevTools 中禁用资源缓存并为生成的内容设置标题 Cache-control: no-cache。
这种行为的原因可能是什么?
【问题讨论】:
-
您的 http 服务器错误日志文件中有任何错误吗?这看起来像工人正在处理死亡。
-
错误日志似乎没问题,只是通知接收到关闭信号,已经启动或退出了多少线程。与问题之前相同类型的消息。
-
“和以前一样。”?那是什么意思?如上所述,http 服务器是否会在每个此类问题上重新启动进程?
-
不,在问题描述的问题第一次出现之前。很抱歉造成混乱。
标签: apache