gpt4 book ai didi

php - Apache 或 PHP 生成前置换行符

转载 作者:可可西里 更新时间:2023-10-31 22:12:49 24 4
gpt4 key购买 nike

我正在尝试在 PHP 网络应用程序中生成一个 XML 文件:

<?php
...
header('Content-Type: application/xml');
header('Content-Disposition: attachment; filename=test.xml');
echo "<?xml version=\"1.0\"?>\r\n" .
...

奇怪的是,当使用我的服务器时(分别为 PHP 版本 5.3.8/Apache 2.2.17 和 PHP 版本 5.3.10-1/Apache 2.2.22)一个换行符(十六进制 0a) 字符被插入到输出的开头,导致无法使用的无效 XML。有 one more online question about this ,悬而未决。

所以如果我尝试 echo "bug"; 我得到 4 个字节,而不是 3 个:0a 62 75 67

但是,当在本地使用 WAMP 服务器时 (PHP 5.4.3/Apache 2.4.2),我得到 3 个字节:62 75 67

  • 这是已知错误/功能吗?
  • 是配置问题吗?
  • 哪个是罪魁祸首,Apache 还是PHP?
  • 我必须升级我的服务器吗?我宁愿不。

最佳答案

可能是编码问题。如果您使用 UTF8 with BOM , 文件的开头有一个额外的字符。检查文件的编码,并将其转换为无 BOM 的 UTF8 以避免出现此额外字符。

关于php - Apache 或 PHP 生成前置换行符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15578271/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com