You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu环境下如何移除Apache Web Server响应中的BOM?

移除PHP响应中的BOM字节解决方案

出现这个问题的核心原因是你的PHP脚本(或其引用的其他文件)带有UTF-8 BOM头——PHP会将脚本开头的BOM作为输出内容直接发送,早于你设置的HTTP头部,最终导致BOM出现在响应的最前端。

以下是具体解决步骤:

  • 检查并清理当前脚本的BOM
    用支持编码查看的编辑器(如Vim、VS Code)打开你的下载脚本:

    • Vim中执行:set bomb?,如果返回bomb说明存在BOM,接着执行:set nobomb后保存文件。
    • VS Code可点击右下角编码选项,切换为「UTF-8」而非「UTF-8 with BOM」,保存更改。
  • 检查所有被引用的PHP文件
    如果你的脚本使用include/require引入了其他PHP文件,这些文件也可能带有BOM,需要逐一检查并去除BOM编码。

  • 临时缓冲修复(快速应急)
    若暂时无法修改文件编码,可在脚本最开头添加缓冲区清理代码,确保发送头部前清空所有输出:

    ob_clean();
    

    注意:这行代码必须放在所有输出(包括空格、空行、其他PHP代码的输出)之前,否则无效。

修改完成后重新测试下载,用WinHex验证响应内容,BOM字节应已被移除,文件大小恢复为原文件的40字节。

内容的提问来源于stack exchange,提问作者xscript09

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 23:57:42