Bug #16077 Updated: Large output data causes output buffering to crash
| From: | yohgaki@php.net | Date: | Thu, 09 May 2002 06:30:26 +0000 |
| Subject: | Bug #16077 Updated: Large output data causes output buffering to crash | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-7287@lists.php.net to get a copy of this message | ||
ID: 16077
Updated by: yohgaki@php.net
Reported By: harry.brueckner@orange-digital.de
-Status: Analyzed
+Status: Bogus
Bug Type: Output Control
Operating System: RH Linux 2.4.9-31
PHP Version: 4.1.1
New Comment:
ob_start() disables chunked output by default. Your script should work
if ob_start('timemer', 4096) for example.
Not like output_buffering ini directive, ob_start()'s default chunk
size is 0 (which means no chunked output -> you're exhousting memory)
Previous Comments:
------------------------------------------------------------------------
[2002-05-03 23:25:40] yohgaki@php.net
This should be chunked output problem.
------------------------------------------------------------------------
[2002-03-14 12:46:01] harry.brueckner@orange-digital.de
This script causes PHP to crash (sigsegv, return nothing OR to cause
wget to tell "HTTP request sent, awaiting response... End of file while
parsing headers. Retrying.") almost any time. The include.txt file I
used was larger than 100k and was just a simple text. The content of
the file is not important at all, I tried several versions.
<?php
function getMicrotime()
{
list($usec, $sec) = explode(" ", microtime());
return ((float)$usec + (float)$sec);
}
function timer($buffer)
{
global $startTime;
$endTime = getMicrotime();
$diff = sprintf("%.5f", $endTime - $startTime);
return $buffer . "\nExecution time: $diff sec<br>\n";
}
$startTime = getMicrotime();
ob_start("timer");
for ($i = 0; $i < 500; $i++)
{
$fh = fopen("include.txt", "r");
$cmd = fread($fh, 1048576);
fclose($fh);
echo "$i $cmd\n";
}
?>
I compiled PHP with
./configure --prefix=/usr/local/php --disable-short-tags
--enable-safe-mode --enable-ftp --with-mysql=/usr/local/mysql
--with-zlib --enable-memory-limit
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=16077&edit=1