私が実行した場合:
die();
それも効果的に呼び出すか
session_write_close();
ダイがプロセス全体を停止するからですか?
いいえ。PHP ページでわかるように: http://www.php.net/manual/en/function.exit.php ( dieはexitと同等であるため)
exit が呼び出された場合でも、シャットダウン関数とオブジェクト デストラクタは常に実行されます。
しかし、session_write_close はシャットダウン機能ではありません。「死ぬ」と走りません。session_register_shutdownを調べることをお勧めします。これにより、session_write_close() がシャットダウン関数として登録され、この場合、「ダイ」で実行されます。
詳細情報: http://www.php.net/manual/en/function.session-register-shutdown.php
スクリプトの実行を終了します。exit が呼び出された場合でも、シャットダウン関数とオブジェクト デストラクタは常に実行されます。
したがって、php は引き続きクリーンアップ ルーチンに進みます。とにかく、スクリプトのシャットダウンで何かカスタムを行いたい場合は、を使用してシャットダウン関数を登録できますregister_shutdown_function
。
function shutdown()
{
//Some custom clean-up, logging and so on
}
register_shutdown_function('shutdown');
注:カスタム シャットダウン関数を登録すると、致命的なエラーが発生したときにも呼び出されます。