次の2つのPHP(5.4)スクリプトについて考えてみます。register_shutdown_function
スクリプトAが実行されたときにのみコールバックが呼び出され、スクリプトBが実行されたときに呼び出されないのはなぜですか?
スクリプトA
set_error_handler(function() {
throw new Exception();
});
register_shutdown_function(function() {
echo "shutdown handler invoked\n";
});
undefined();
// "shutdown handler invoked" IS displayed
スクリプトB
set_error_handler(function() {
throw new Exception();
});
register_shutdown_function(function() {
echo "shutdown handler invoked\n";
});
$undefined->undefined();
// "shutdown handler invoked" IS NOT displayed