註冊一個會在php中止時執行的函式

register_shutdown_function

(PHP 4, PHP 5, PHP 7, PHP 8)

register_shutdown_function註冊一個會在php中止時執行的函式

說明

register_shutdown_function(callable $callback, mixed $parameter = ?, mixed $... = ?): void

註冊一個 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()來進行一個正常的中止。

參見

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *