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 回答