Apache 或 PHP 在每个 HTML 和 XHR 响应开头插入换行符

Apache 或 PHP 在每个 HTML 和 XHR 响应开头插入换行符

我在基于云的 Ubuntu 服务器上运行一个 PHP 应用程序,并且由于某种原因,我在每个 HTML 文件或 XHR 响应的开头都会出现换行符。

我有一个在 Ubuntu 上运行的本地版本的应用程序,并且这个换行符没有出现。

具体来说,错误的响应在每个响应前面都会添加一个带有 ASCII 代码 10 的字符。

这导致我的 Javascript 中断,因为 XHR 对象由于前导换行符而无法将 XHR 响应识别为 XML。

我使用 Agavi 框架版本 0.9.2(是的,很旧!)作为 PHP Web 框架。我已能够将 echo 语句插入自定义视图中,并且换行符仍显示在响应的开头。

那么是 Apache 还是 Agavi 或者其他程序在做这件事?

有什么想法吗?

谢谢。

答案1

我经历了类似问题这可能相关也可能不相关。我发现罪魁祸首是 PHP 代码中的空格。但是,要纠正这个问题,您需要能够查看和更改源代码。为了避免 PHP 中出现此类问题,最好不要使用结束标记?>(在该标记之后可能会无意中插入空格)。

答案2

查看所有包含文件,在结束 ?> 后搜索 CarriageReturn/LineFeeds

这就是你的问题所在!

相关内容