0

当我的PHP脚本出错时,我会看到一个Whoops包含错误所有详细信息的漂亮页面。

但是,有时我需要查看出错位置的输出(例如,在包含 100 万个项目的循环中,但其中只有 1 个出现问题,我需要查看哪个项目)。我在每个项目之后刷新输出,因此页面后面的Whoops页面显示页面底部的最后一个项目。

有没有办法隐藏Whoops页面(暂时)?

使用Chrome DevTools,我现在隐藏了DIV' Whoops_container' 类,但如果有更优雅的方式会很好。

4

2 回答 2

0

编辑解释:很抱歉,一些stackoverflow mods 删除了我的帖子,因为他们认为我只是用链接回答。这是一个短期解决方案,如果链接过期,则解决方案过期,需要以不同的方式解决(如果包含 PR,则答案已过时且问题也已过时,如果 PR 不被接受,我将创建一个 fork并且无论如何都需要更新链接)。

但是因为我知道这种糟糕的行为有多烦人,所以我再次添加了答案:

我创建了一个添加“隐藏按钮”的拉取请求。您可以在此处查看必要的更改:https ://github.com/filp/whoops/pull/579/files

这可能会有所帮助,直到他们整合它,或者如果他们决定不整合它。

以下是从拉取请求中提取的更改,为链接添加一些价值:

src/Whoops/Resources/views/header.html.php(在另一个按钮下面添加这个(“复制”)

<button id="hide-error" class="rightButton" title="Hide error message" onclick="document.getElementsByClassName('Whoops')[0].style.display = 'none';">
HIDE
</button>

src/Whoops/Resources/views/header.html.php(在最后添加)

.rightButton {
  cursor: pointer;
  border: 0;
  opacity: .8;
  background: none;

  color: rgba(255, 255, 255, 0.1);
  box-shadow: inset 0 0 0 2px rgba(255, 255, 255, 0.1);

  border-radius: 3px;

  outline: none !important;
}

  .rightButton:hover {
    box-shadow: inset 0 0 0 2px rgba(255, 255, 255, 0.3);
    color: rgba(255, 255, 255, 0.3);
  }
于 2018-06-19T07:53:35.537 回答
0

如果错误很常见,您可以在全局范围内忽略该错误。对于示例 ValidationException 或 ModelNotFoundException,您可以忽略该异常。

在 Laravel 的 Handler.php 中有一个名为 $dontReport 的数组。您可以在此处注册您的异常类并在全球范围内导入您的异常。

protected $dontReport = [
    \Illuminate\Database\Eloquent\ModelNotFoundException::class,
    \Illuminate\Validation\ValidationException::class,
];

您还可以将自定义输出代码写入渲染函数以处理您的异常。

祝你好运!

于 2018-06-19T08:01:49.193 回答