register_shutdown_function
(PHP 4, PHP 5, PHP 7, PHP 8)
register_shutdown_function — 註冊一個會在php中止時執行的函式
說明
註冊一個 callback
,它會在指令碼執行完成或者 exit() 后被呼叫。
可以多次呼叫 register_shutdown_function() ,這些被註冊的回撥會按照他們註冊時的順序被依次呼叫。 如果你在註冊的方法內部呼叫 exit(), 那麼所有處理會被中止,並且其他註冊的中止回撥也不會再被呼叫。
參數
-
callback
-
待註冊的中止回撥
中止回撥是作為請求的一部分被執行的,因此可以在它們中進行輸出或者讀取輸出緩衝區。
-
parameter
-
可以通過傳入額外的參數來將參數傳給中止函式
-
...
-
返回值
沒有返回值。
錯誤/異常
如果傳入的callback不是可呼叫的,那麼將會產生一個 E_WARNING
級別的錯誤。
範例
示例 #1 register_shutdown_function() 例子
<?php
function shutdown()
{
// This is our shutdown function, in
// here we can do any last operations
// before the script is complete.
echo 'Script executed with success', PHP_EOL;
}
register_shutdown_function('shutdown');
?>
註釋
注意:
在某些web server(如Apache)上,可以在中止函式內對指令碼的工作目錄進行修改。
注意:
如果程序被訊號SIGTERM或SIGKILL殺死,那麼中止函式將不會被呼叫。儘管你無法中斷SIGKILL,但你可以通過pcntl_signal() 來捕獲SIGTERM,通過在其中呼叫exit()來進行一個正常的中止。