I have a script which outputs mysql cell data. The "content" cell contains text output, which is of varied length.
When the contents of the "content" cell are small (lets say, a few lines of text), everything works fine.
However, when the output reaches several paragraphs or more, I get the 'headers already sent' error.
Does it depend on the output length? Where can I read more about it? The answers I've found on SO mention nothing of such output length-dependency.
44: echo "
45: ".$article['content']."
46: ";
If the size of the 'content' output is large, the script produces the following error:
PHP Warning: Cannot modify header information - headers already sent
by (output started at /home/mantas/htdocs/asm/article.php:46) in
/home/mantas/htdocs/asm/include/comments_class.php on line 56
Answer
PHP will buffer output if you want it to. You can control this programmatically with ob_start()
, etc. However, there is a further option to set output buffering on in php.ini.
Setting output_buffering=on
enables it, while setting output_buffering=4096
will set a limit to the buffer size. phpinfo()
should tell you if this is enabled, and what the buffer size is.
The PHP reference is here
No comments:
Post a Comment