如何找出输出的起始位置?

Lin*_*sku 3 php header

我注意到我的网站源代码中的HTML上面有两个空行.它看起来像这样:

<!-- Two empty lines here, StackOverflow won't let me post empty lines -->

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> 
<html>
Run Code Online (Sandbox Code Playgroud)

HTML是使用PHP生成的.如何找出输出的起始位置?

我尝试添加<?php header('...'); ?>之后<html>,希望触发一个错误,如"无法修改标题.输出从行开始..."但没有发生错误.

hak*_*kre 11

如果要获取输出开始的文件名和行号,可以headers_sent()使用两个可选参数调用该函数:

$sent = headers_sent($file, $line);
Run Code Online (Sandbox Code Playgroud)

这两个变量$file,并$line包含你正在寻找的功能已被调用后的信息.您不需要等待错误消息(但如果您没有看到任何错误消息并且想要查明原点,则可能需要刷新输出(在许多地方).因此,请确保禁用输出缓冲.