ID: 38532
User updated by: fdcxl at 163 dot com
Reported By: fdcxl at 163 dot com
Status: Bogus
Bug Type: *Web Server problem
Operating System: linux
PHP Version: 5.1.5
New Comment:
I make another test. With the following script:
<?php
$str = "asdfasdf5687ju9465870u985tg79yh8";
$str1 = str_repeat($str, 1000);
$str2 = $str;
function write()
{
file_put_contents("/tmp/abc", "Final
Connection:".connection_status()."\n", FILE_APPEND);
}
register_shutdown_function("write");
while(1)
{
$count = 100000000;
while($count > 0)
{
$count = $count -1;
if($count%1000000==0)
{
var_dump($str1);
//var_dump($str2);
ob_flush();
}
}
}
?>
If large mount of output is sent like $str1, I will get ABORT signal
and script terminated. But if $str2 is sent, it seems that no ABORT
signal and script keeps running to TIMEOUT
Previous Comments:
------------------------------------------------------------------------
[2006-08-21 09:28:26] fdcxl at 163 dot com
In the manual, it says that when user clicks STOP button, the script
should be terminated. In fact, the script keeps running. I checked it
by verifying the size of /tmp/abc, which keeps increasing.
I have tried to send output. It seems that IE maintains its own buffer,
that any output can't get displayed before I click STOP button
------------------------------------------------------------------------
[2006-08-21 08:46:27] [EMAIL PROTECTED]
connection_status and connection_aborted() rely on the function that
outputs the data from the buffer.
Since you do not output any data, there is no way to detect that the
connection is dead.
------------------------------------------------------------------------
[2006-08-21 08:05:53] fdcxl at 163 dot com
Description:
------------
connection_status function can't reflect the right information. When I
click Stop button of IE, I can't get the ABORT signal.
Reproduce code:
---------------
conn.php
<?php
while(true)
{
sleep(1);
file_put_contents("/tmp/abc", "Connection:".connection_status()."\n",
FILE_APPEND);
}
?>
I access this page using IE with http, after about 10 seconds, I click
Stop button of IE.
Expected result:
----------------
The contents of /tmp/abc should be a sequence of 0s with one 1 in the
end. The script stops.
Actual result:
--------------
I get all 0s, and script keeps running
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=38532&edit=1