#11546 [Com]: Register_Shutdown_Function doesn't happen after shutdown
| From: | Xuefer at 21cn dot com | Date: | Wed, 11 Sep 2002 16:45:42 +0000 |
| Subject: | #11546 [Com]: Register_Shutdown_Function doesn't happen after shutdown | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-19154@lists.php.net to get a copy of this message | ||
ID: 11546
Comment by: Xuefer@21cn.com
Reported By: btanner@home.com
Status: Analyzed
Bug Type: Program Execution
Operating System: Windows 2000
PHP Version: 4.0.5
New Comment:
same problem under php4.2.0 win binary build with apache
the data is exactly sent after flush()
"I have to wait until my shutdown functions are done before I see the
page"
not 100% true, it's ie problem.
ie will only show page after X bytes(unkown to me) of data, or page
finished
the truth is: php/apache still holding connection until
shutdown_functions done
Previous Comments:
------------------------------------------------------------------------
[2001-06-21 14:05:23] sniper@php.net
I can now reproduce the same symptom.
If PHP is as CGI under Apache, the example script
doesn't work. But as DSO it works.
------------------------------------------------------------------------
[2001-06-19 14:34:50] btanner@home.com
Windows 2000 - Apache 1.3x
PHP 4.05
Running PHP.exe as CGI. Is this the problem?
------------------------------------------------------------------------
[2001-06-19 14:23:17] sniper@php.net
This works for me just fine within Linux.
Also on Windows ME (PHP as Apache DSO).
What is the SAPI you are using? Web server?
Or is it run as CGI?
--Jani
------------------------------------------------------------------------
[2001-06-18 21:28:27] btanner@home.com
In theory (at least IMHO), this function should be used to register
functions to finish up after the client has detached from the server.
This way, time consuming tasks like logging, closing connections,
sending
e-mail, or whatever can be done *after* the client is happily surfing
to
their next page.
However, I have tested Register_Shutdown_Function as much as I can
locally,
and no matter what I try... I have to wait until my shutdown functions
are
done before I see the page, get redirected, or whatever.
This is bug or a feature? Or am I a dummy?
This example should execute and be done... but instead it waits around
till the shutdown function is finished. I used sleep cause its a good
way to kill time, but it happens with any time consuming operation
(sending 5 emails through SMTP for example)
Example:
<?
Register_ShutDown_Function("KillTime");
print("We're DONE here.");
flush();
exit();
function KillTime(){
sleep(30);
}
?>
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=11546&edit=1