ID:               17774
 Comment by:       [EMAIL PROTECTED]
 Reported By:      [EMAIL PROTECTED]
 Status:           Open
 Bug Type:         Scripting Engine problem
 Operating System: FREEBSD 4.5-STABLE
 PHP Version:      4.0CVS-2002-06-15
 New Comment:

Just to keep you informed on this, I have now deleted my old install of
apache and installed a FRESH copy of apache 2.0.43 and the latest CVS
at the time, im still using the same php.ini file.

The problem still exists in its entirety.


Previous Comments:
------------------------------------------------------------------------

[2002-09-30 15:17:24] [EMAIL PROTECTED]

Yes I am, however it didnt do this on the CVS install under a week ago,
thats irrespective of my problem, Im not all that fussed wether it
displays the zero or not, it really doesnt assist me in my long
standing problem with the code I want to write that depends on the STOP
buttong being pressed and detecting this.

------------------------------------------------------------------------

[2002-09-30 15:05:02] [EMAIL PROTECTED]

Do you have output compression enabled, whether via PHP or via Apache
(mod_gzip module for example) ?

------------------------------------------------------------------------

[2002-09-30 15:00:28] [EMAIL PROTECTED]

Hmm, I probably look a bit thick rite now, but belive I had tried both
values of ignore_user_abort, being set to false and true, but alwasy
the same result, oops on my part for not realins to change it back to
false, I did that and still the same result.

I assume that you mean by output_buffers being set to on, is in teh
php.ini ?

Well This is a clipit of my php.ini

; a value for this directive (e.g., output_buffering=4096).
output_buffering = Off


I havnt changed my php.ini in all my installs [/usr/local/lib/php.ini]
so that has been always set to Off.

So anyway, ive tried with the ignore_user_abort(false); set and still
it ignores the user abort and 50 seconds later produces a file that
contains a '0'.

I havnt changed anything since the last CVS a few days/weeks ago, yet
it is no longer displaying a 0 in the browser it is just going with
behaviour like it is buffering it, like you already suggested.

------------------------------------------------------------------------

[2002-09-30 14:43:02] [EMAIL PROTECTED]

If you did a clean install you have output buffering enabled, meaning
that PHP won't send the browser data until it filled the buffer of 4k
or the script has stopped running. This is why it does not output
anything right away. The other 'problem' can be explain by the fact you
likely have 'ignore_user_abort' enabled, meaning that the script will
run till completion even if the user connection was terminated or timed
out.

------------------------------------------------------------------------

[2002-09-30 14:33:47] [EMAIL PROTECTED]

This is an old posting of the bug, it was back in the days when I was
with rackshack and running freebsd 4.5-STABLE.

I am now running freebsd 4.7-RELEASE 2 and amn with a different ISP,
thus a totally different machine.

>From your very latest CVS, I just downloaded and installed 5 minutes
ago this error is still occuring.

In fact your latest version is even worse, now the script, which I will
detail below doesnt print anything in the browser it just waits, and
you press stop say after 5 seconds, approx 45 seconds later [thats a
total of 50 1 second sleep attempts] the script writes to the outpout
file the connection_status, which is a 0, this is saying that the
script finsihed normally, this is WRONG according to your own manual of
which it shgould report connection status 1, which is unatural
termination of the script.

This bug is not fixed, it cannot be me I have been through all flavours
and rebuilds of freebsd and every time the same error!

This is the script, still the same as it was before the latest cvs
install that now doesnt display anything, you can view this script at
http://admin.mghost.net/~neil/test/index.php, the output file is
http://admin.mghost.net/~neil/test/wank.txt.


<?
function exitfp() {
    $fp = fopen("wank.txt","w");
    fputs($fp, connection_status());
    fclose($fp);
}
register_shutdown_function('exitfp');

if(connection_aborted() != true){print "0";}
flush();
ignore_user_abort(true);
$m = '50';
while(connection_aborted() != true and $m > $a){
    sleep('1');
    print connection_status();
    flush();
    $a = $a + 1;
}

exitfp();

?>

------------------------------------------------------------------------

The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
    http://bugs.php.net/17774

-- 
Edit this bug report at http://bugs.php.net/?id=17774&edit=1

Reply via email to