ID:               20447
 Comment by:       php at mcking dot nl
 Reported By:      richardz at omniture dot com
 Status:           Analyzed
 Bug Type:         Documentation problem
 Operating System: RedHat 7.2
 PHP Version:      4.2.3
 New Comment:

I tested this on a system with:

OS: Fedora Linux Core 1

Apache version: 2.0.48-1.2

PHP version: 4.3.4-1.1



And the connection to the browser was still open. So the bug isn't
solved yet!


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

[2003-11-20 17:09:52] gabe at websaviour dot com

Could you elaborate on that please?  I am experiencing 

the bug in PHP 4.3.0 and Apache 1.3.27 on OS X, 10.2.8, 

as well as PHP 4.1.2 on Apache 1.3.22 on Red Hat Linux.



Under what conditions will it work?  I need this 

function to work as advertised to perform some time-

consuming tasks in the background and let the user move 

on.  Since this is pretty much the only way to achieve 

anything approaching asynchronous processing in the 

Apache PHP environment it seems fairly important.

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

[2003-08-10 21:24:16] [EMAIL PROTECTED]

This is a documtation problem.



Under certain condition you may infact be able to output data to the
browser from inside the register_shutdown_function handler.

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

[2003-05-04 02:31:26] [EMAIL PROTECTED]

Is this a documentation problem or a php-bug?



According to some users the documented behaviour worked under PHP <
4.1.0, but now the function behaves differently.



Could someone please check this?

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

[2003-01-16 12:14:43] firewire at itsyourdomain dot com

I to have run across this problem. I was hoping to use a registered
shutdown function to do some final fairly slow socket processing that
the client didn't need to see. My test case is as follows:



register_shutdown_function('sd');



function sd()

{

  echo "I shouldn't be seen";

  sleep(5);

}



Causes the browser to echo text then sleep for 5 seconds before
completing the page. I also agree that the manual is incorrect. Is
there another way to force php to close the output stream so slower non
user related functions can be executed?

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

[2002-11-15 10:32:35] richardz at omniture dot com

My problem is that the connection to the browser is still open while
the registered shutdown functions are executing.  The documentation
says that from the registered shutdown functions you WON'T be able to
echo or print or modify the contents of the buffer. I can...



Example:

using apache 1.3.27

php version 4.2.3

//////////////////////////////////////////////

<?

function doThing(){

     for($i=0;$i<100000;$i++){

          //just looping to demonstrate that the page hangs while
executing this function

     }

     echo "PHP documentation says I shouldn't see this in my browser";

}

register_shutdown_function('doThing');



?>

<html>

Test Page.

<br><br>

</html>

////////////////////////////////////////////





I was hoping to register shutdown functions to do some cleanup -
without affecting the load time of the site.  Apparently these
functions don't work that way?

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


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

Reply via email to