2016-11-28 11 views
-2

PHPがシャットダウンしているかどうかを検出するにはどうすればよいですか? 「シャットダウン」とは、register_shutdown_functionで登録された関数が現在実行中であることを意味します。たとえば、次のコードを検討してください:上記のコードではPHPがシャットダウンしているかどうかの検出

<?php 

function do_something() { 
    // How can I detect whether PHP is shutting down. 
} 

register_shutdown_function('do_something'); 
do_something(); 

を、私はdo_something関数内からシャットダウンを検出できるようにしたいです。

+3

をあなたは "私は[...]を検出したい" とはどういう意味ですか? 'do_something'が起動された場合、PHPはすでに終了していることを意味します。 – Max

+0

@Maxは' register_shutdown_function() 'は、スクリプトの終了後に特定の関数を呼び出すために使用されます。 'do_something()'関数は、スクリプトが完了したときに呼び出されます。 – Kitson88

+0

ああ、私はコードブロックを詰め込んだようだ。私はそれを修正させてください。 –

答えて

0

これは動作するはずです:

<?php 

// receive true or false for knowing if register_shutdown_function() called this function 
function do_something($is_register_shutdown_function = false) { 
    // How can I detect whether PHP is shutting down. 
    if($is_register_shutdown_function === true){ 
     file_put_contents('do_something.log', "do_something() - ".time().".".microtime(true)."\n", FILE_APPEND); 
    } 

    // do as you please going forward 
} 

register_shutdown_function('do_something', true); // pass true to the first parameter of do_something() 
do_something(); 
関連する問題