#11546 [Com]: Register_Shutdown_Function doesn't happen after shutdown

From: Date: Wed, 11 Sep 2002 16:48:36 +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-19162@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: sorry for my bad version desc -> php4.2.0 win binary build with apache should be wrote as: php4.2.0 Win, run as Apache module Previous Comments: ------------------------------------------------------------------------ [2002-09-11 11:45:42] Xuefer@21cn.com 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 ------------------------------------------------------------------------ [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

« previous php.bugs (#19162) next »