Just a simple PHP file to show PHP’s shutdown / object destruction sequence.
Output should be as follows:
dummy1 dummy2 register_shutdown_function Object destructor Output buffer callback Session write Session close
<?php
header('Content-Type: text/plain');
// Testing shutdown sequence
function shutdown() {
echo "register_shutdown_function\n";
}
register_shutdown_function('shutdown');
class MyClass {
function __destruct() {
echo "Object destructor\n";
}
}
function obcallback($buffer) {
$buffer .= "Output buffer callback\n";
return $buffer;
}
ob_start('obcallback');
$myObject = new MyClass;
function dummy() {
echo "dummy\n";
return true;
}
function sessionclose() {
echo "Session close\n";
return true;
}
function sessionwrite() {
echo "Session write\n";
return true;
}
session_set_save_handler(function() {echo "dummy1\n";return true;},'sessionclose',function() {echo "dummy2\n";return true;},'sessionwrite',function() {echo "dummy3\n";return true;},function() {echo "dummy4\n";return true;});
session_start();
?>