apache_child_terminate does NOT terminate the running script.
It terminates the apache process running the script AFTER it has finished running the script.
It has no side effects on page generation, you should only call it in cases where you know your script will have used a lot of memory and you want to give it back to the system.
apache_child_terminate
(PHP 4 >= 4.0.5, PHP 5)
apache_child_terminate — Terminate apache process after this request
Description
bool apache_child_terminate ( void )apache_child_terminate() will register the Apache process executing the current PHP request for termination once execution of PHP code it is completed. It may be used to terminate a process after a script with high memory consumption has been run as memory will usually only be freed internally but not given back to the operating system.
Return Values
Returns TRUE if PHP is running as an Apache 1 module, the Apache version is non-multithreaded, and the child_terminate PHP directive is enabled (disabled by default). If these conditions are not met, FALSE is returned and an error of level E_WARNING is generated.
Notes
Note: This function is not implemented on Windows platforms.
See Also
| exit() |
apache_child_terminate
13-Mar-2006 04:26
06-Jul-2005 08:29
Don't use this function to simply terminate your scripts!
Using this function you will cause a BIG overhead to apache, infact it will terminate and restart child processes instead to execute more requests in the same process!
Use die or exit instead
28-Nov-2003 11:14
<?php
function term() {
if(function_exists('apache_child_terminate')) {
apache_child_terminate();
}
die('Terminated');
}
?>
Also, when apache_child_terminate is called, it terminates the script, so die()/exit() is not necessary if the script is 100% sure to be on an apache 1.x server, else a die()/exit() is as good as it gets.
I found its a semi-good idea to terminate the child if available after critical low-level errors.
