2011-08-05 67 views
0

我有一个生成XML文件的php。它以下面的代码开始:安装差异php 5.2和5.3

header("Content-Type: text/xml; charset=UTF-8"); 
header('Content-Disposition: attachment; filename="FileName.xml"'); 

// Outputs a lot of XML 

当我运行PHP 5.2时,它工作正常,但在5.3上生成一个空文件。有关为什么它是空的任何想法?

+4

后的完整代码被解释为PHP代码块的开始,我怀疑在这种情况下头部是否有特殊的事情要做。 – Kumar

+0

你在同一台服务器上安装过吗?我会说这可能不是由于PHP版本的差异造成的,而是其他原因。例如试试看看它是否有效。 ob_start();在标题之前的最初。并在文件的最后; $ XML = ob_get_contents(); ob_end_clean(); echo $ xml; –

回答

1

这听起来像它可能与短打开标签功能相关:<? vs <?php

确保您在php.ini中禁用了短标签。如果你需要它激活,有一个变通方法:为<?xml标签,包装在一个字符串,并呼应它,所以它不会被PHP

echo '<?xml … >'; 
+0

不,这不是问题。 – user880533