首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP响应与以前的响应和输出混合为纯文本

PHP响应与以前的响应和输出混合为纯文本
EN

Stack Overflow用户
提问于 2012-06-19 20:05:23
回答 1查看 393关注 0票数 2

我们使用DomPDF运行Apache2.2.16和PHP5.3.3来生成PDF。生成PDF后,随后的请求偶尔返回一个纯文本响应,该响应由用于生成PDF的HTML部分组成(即来自前一个请求),并与HTTP头和请求页面的响应混合。

Apache以某种方式将响应的一部分与新的响应混合在一起。这似乎是一个输出缓冲问题,尽管我不能使用相同的代码在本地复制它。它似乎也与gzip无关,因为禁用gzip仍然会出现问题。我也尝试了火狐和Chrome,并经历了同样的结果。

更新:,如果我关闭保持活力,它解决了问题。不过,我不一定要离开-活下去。显然,输出缓冲区或响应未被清除仍然存在根本问题。

以下是请求头:

代码语言:javascript
复制
Request URL:https://asdf.com/checkout/5d86a9bdf455cdfd334494183559bf
Request Method:GET
Status Code:200 OK
Accept:text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Charset:ISO-8859-1,utf-8;q=0.7,*;q=0.3
Accept-Encoding:gzip,deflate,sdch
Accept-Language:en-US,en;q=0.8
Connection:keep-alive
Cookie:APP=636c8e6b58e991476ed7d38849bde0d4; _
Host:asdf.com
Referer:https://asdf.com/get_pdf/33711
User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_4) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1132.34 Safari/536.11

以及浏览器中显示的截断响应:

代码语言:javascript
复制
<!-- truncated HTML from the previous page (i.e. PDF) -->
    </p>
</div>


</body>
</html>HTTP/1.1 200 OK
Date: Tue, 19 Jun 2012 18:06:13 GMT
Server: Apache
P3P: CP="NOI ADM DEV PSAi COM NAV OUR OTRo STP IND DEM"
Vary: Accept-Encoding
Content-Encoding: gzip
Content-Length: 6457
Keep-Alive: timeout=7, max=96
Connection: Keep-Alive
Content-Type: text/html; charset=UTF-8

‹í]ksÛ¸’ýìü
ŒfvmׯzP/?µëØNâÄI<‘’ìL*å‚HHBD
Z–gæ¿o7@I-BNrkë~ÐÜ;c‰<xtŸF£›lŠÇ¿œ¿;ëüq}Aj’ëÏ®.ÏHa¯TúT=+•Î;çä_vÞ\‘J±L:’F1W\D4,•.ÞHa Ôø°TšL&ÅIµ(d¿Ôy_ºÃ¾*Ø8ý¸§¬–Å@…Ö“c=àÝ(Œâ“ÝTLke4h=Ù:V\…¬õ{"‹Éßä2RLR_ñ[FN}_$‘âQÿ¸d`€1E  v¾Ç¾%üö¤p& I¤ö:Ó1+ß|;)(v§J8ØñTÆL$ª··_ ¥ÖqìK>VDA“ù•ÞRs´@bé›ùÇ ýJïŠ}!ú!£c}1ÒÇJ!ïÆ¥¯ß&§¥J±™~,ŽxTüZÇ
<!-- followed by a bunch more gzipped gibberish -->
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-06-19 20:16:53

这听起来确实像是with服务器的问题,部分原因是keep-alive连接。可能的补救办法:

如果还没有,

  • 会发送带有PDF的Content-Length头文件。另外,确保Content-Length是正确的:即:在此之后没有输出。
  • 禁用了apache中的KeepAlive。问题是,据我所知,这不能在每个请求甚至每个目录的基础上进行,因此,这意味着如果对整个站点(不推荐)禁用,或者从另一个虚拟主机提供pdf。

我的偏好肯定是第一个选择,如果这解决了它,第二个是麻烦的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11108537

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档