我很长一段时间以来一直在努力解决这个问题,但我找不到解决办法。问题是< !DOCTYPE html etc...
不是从第一行开始,而是在它开始之前留下四个空行。
我的所有文件(header.php
,index.php
等)在开始之前都没有换行符。
有任何类似问题/经历的人吗?这将是非常有帮助的!
请参阅此处以供参考:view-source:http://2famous.tv/
谢谢
答案 0 :(得分:4)
这通常不是由前导引起的,而是由尾随空白引起的。很多旧的PHP代码仍然会在最后关闭代码,然后通常会有一个偏离的换行符:
<?php
// Lot of source code
?> <----- and a newline here which is the culprit!
为了避免这个问题,永远不要用?>
关闭文件 - PHP不需要它,只是停止在EOF解析,因此隐含地避免输出中的这个“垃圾”。
至于找到导致它的文件 - 祝你好运,我首先要梳理任何自定义扩展程序,然后删除你可以找到的所有?>
标记。
作为替代方案,您可以通过向ob_start()
添加一个index.php
调用,然后在包含执行ob_end_clean()
的文档类型的模板中来“修复”它 - 这将全部放入输出缓冲区中的中间输出,然后将其删除。