6

組み込みのphp shutdown_functionをカスタムのものに置き換えようとしています。

完全に機能しますが、新しいエラー メッセージの上に元のエラー (組み込みエラー) が出力されます。

  <?php
  function shutdown_output() {
      $error = error_get_last();
      if($error !== NULL) {
          echo "ERROR";
          exit();
      } else {
          echo "NO ERROR";
      }
  }

  // Set the error reporting:
  register_shutdown_function('shutdown_output');

  // test.php does not exist, just here to get a critical error
  require_once("test.php");

  ?>

何か案は?

4

1 に答える 1

3

コメントで既に述べたように、 を使用しても、register_shutdown_function組み込みのエラー処理がオーバーライドされることはありません (オーバーライドしないのと同じ方法ですset_error_handler)。

元のメッセージを見たくない場合は、php.iniusingでそれらの出力を無効にしますdisplay_errors = 0。または、スクリプトでその場で を使用しini_set('display_errors', 0);ます。

于 2012-12-19T12:23:35.147 に答える