为什么CakePHP在我的xml布局前插入空格?

为什么CakePHP在我的xml布局前插入空格?,php,xml,cakephp,kml,Php,Xml,Cakephp,Kml,我在CakePHP中遇到了一个非常令人沮丧的问题,在我的KML文件布局的开始处不断出现一个空格,这导致Google Earth拒绝KML文件 <?php header("Content-disposition: attachment; filename=area.kml"); header("Content-Type: application/vnd.google-earth.kml+xml kml; charset=utf8"); header("Content-Transfer-Enc

我在CakePHP中遇到了一个非常令人沮丧的问题,在我的KML文件布局的开始处不断出现一个空格,这导致Google Earth拒绝KML文件

<?php header("Content-disposition: attachment; filename=area.kml");
header("Content-Type: application/vnd.google-earth.kml+xml kml; charset=utf8");
header("Content-Transfer-Encoding: binary");
header("Pragma: no-cache");
header("Expires: 0");
echo '<?xml version="1.0" encoding="UTF-8"?>';
 ?>
<kml xmlns="http://earth.google.com/kml/2.2">
    <Document>
        <?php echo $content_for_layout ?>
    </Document>
</kml>

对于我得到的输出

" <?xml version="1.0" encoding="UTF-8"?>"
“”
ect
请帮忙

如果在关闭
?>
后包含一个有空格的php文件,则可能发生这种情况。出于这个原因,通常建议您不要包含该标记(例如,在视图中,您正在
echo
ing一个变量和后面的其他内容除外)。

它是?>标记之后和使用
ob_clean()之前的c/r
清除空白

是否确定页眉前未发送任何字符?比如控制器类中的尾随空格等。?您是否已确认,例如,通过尝试发送“位置:”(重定向)标头?调试2小时后。。。app_modelSome中的空格,在我的captcha组件中,php标记前的空格。我在ComponentCollection中编辑了init函数以找到它所在的位置。