【发布时间】:2015-10-26 08:08:17
【问题描述】:
我有一个使用 XMLWriter 创建的 XML 提要。它在 PHP 5.6 vagrant box 上的 dev 中完美运行。在实时服务器上,运行 PHP 5.4 的提要无法呈现并显示一条消息:
This page contains the following errors:
error on line 3 at column 6: XML declaration allowed only at the start of the document
如果你查看源代码,它看起来像这样:
不知何故,有几行被添加到 XML 文档中。服务器之间的唯一区别是 PHP 版本(据我所知)。
这是 XMLWriter 代码的前几行:
$xml = new XMLWriter();
$xml->openURI('php://output');
$xml->startDocument("1.0");
$xml->setIndent(true);
$xml->startElement("propertyList");
$xml->writeAttribute('date', date('Y-m-d-H:i:s'));
任何想法如何解决这个问题?
【问题讨论】:
-
这不是来自您发布的代码:) - 对于两台服务器之间的差异,请比较 ini 设置,例如关于输出缓冲、前置文件等的设置。你有版本控制下的代码?
-
如果您生成的 XML 文件不是很大,您总是可以将输出放入一个字符串并在将其保存到光盘之前对其进行 trim()。