The error message says that something at (or about) english.php line 321 was sending text (output) to the browser. This occurred before the osC code had sent its custom headers, so when osC finally
did send its custom headers, it was too late -- the default ones had already been sent. Most likely you had some blanks after the closing ?>. After erasing any blank lines at the end of english.php, put the
?> line back in.
Make sure there are no blanks or spaces after the >. I don't like germ's advice to leave it off -- that's not good practice and might break something unexpectedly.
Normal flow:
page started
default PHP headers put in HTTP headers table
osC PHP code started
osC updates HTTP headers with custom settings
osC starts outputting text to the browser -- causes current HTTP headers to be sent
osC outputs more text (HTML) to the browser
Your problem:
page started
default PHP headers put in HTTP headers table
osC PHP code started
extraneous blank(s) in one or more files output as HTML text to browser -- causes current HTTP headers to be sent
osC tries to update HTTP headers with custom settings --
error, headers already sent
In general, the problem is that any text (including blanks)
outside the <?php ... ?> gets sent directly to the browser as HTML text. If too early, before osC has updated the HTTP headers the way it wants, the headers will be shipped out too early.
Edited by MrPhil, 19 December 2009, 21:03.