2
PHP automatically outputs the HTTP headers the first time the script does any output, unless the headers have already been output.
If an include-file (file accessed with include or require) that contains characters (including whitespace) outside of the brackets, those characters will be output when the file is included. If the HTTP headers have not yet been output, PHP will do that.
If HTTP headers are subsequently output explicitly with the header() function, then you'll get that "headers already sent" warning.