带有PDF和PHP的Apache2-“此文件不是以“%PDF-”开头
数周以来,我一直在尝试寻找此错误的原因-我空白了.系统使用PHP生成动态.pdf文件. 我有三台服务器:Dev(带有Apache2的Win7),Test(带有nginx的Ubuntu 10.4)和Live(带有nginx的Ubuntu 10.10).所有人都在运行php5和我开发的系统-相同的代码.等效,相同的配置. 我已经测试了许多浏览器:DevIE(win7,IE8),DevFF(Win7 Firefox 3.5),DevSaf(win,Safari),LaptopFF(WinXP,Firfox 3.5),笔记本电脑IE(WinXP,IE8 Test(Ubuntu FF3). 5)和用户(主要是Win 7和Win XP上的IE8). >当我从“测试”生成PDF时,它在所有浏览器中都能正常工作(除了我无法测试的用户). 用户正在报告间歇性问题.它失败,然后重复请求并成功. 当失败…. 显示生成的PDF的日志,发送正确的大小回复(500KB至1.8MB),结果为200 OK.有时约10秒后,重复相同的URL-但这会生成登录屏幕(再次返回200 OK),但大小只有2K.这意味着它是在没有cookie的情况下被请求的. Adobe Reader尝试显示登录页面,并不可避免地出现“此文件未以“%PDF-”开头”错误消息. 除了当我尝试使用笔记本电脑和IE8时-然后显示源显示空行的4行html文件时,显示源失败! 该系统已经运行了一年多-大约2个月前才因更换生产服务器而开始出现故障.测试版本此时未更改,但也开始失败. 我已经尝试过各种头文件,但是我尝试过的一切都没有任何区别.当前的标题集是:
我尝试用附件替换内联.添加和删??除各种无缓存头.一切都无济于事. 通过JavaScript在新窗口中请求PDF,然后8秒钟后进行刷新.我已经测试过,没有新窗口,也没有刷新-没有变化. 我有一些由开发服务器提供的(小)PDF.因此,我提出了我能想到的所有限制.现在,它总是失败. 因此,我有一台Windows Apache2.2服务器,当从同一台计算机浏览时失败,而从Firefox中的其他计算机浏览时成功. 除了浏览器外,没有涉及代理或缓存机制. 有谁对出什么问题有任何想法吗?就像我说的那样,我已经进行了将近4周的测试和排除,无论是断断续续的,甚至还没有发现故障的组件. 最佳答案
这真的很难解决-对于初学者,(请原谅我的直言,但是)这是管道不应该是什么样的一个典型示例:
>三种不同的操作系统. 但是无论如何,有关调试PHP的一些一般性提示: >确保在php.ini中启用error_log和log_errors(设置display_errors = Off) 此外: >您尚未共享PDF的生成方式-您确定此处使用的所有库在所有系统中都是相同的,或至少在某种程度上是相同的吗? 让我知道这可以带您到某个地方,然后回复更新. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |