2

每当我发出一个引发异常的 ajax 请求时,Tracy 调试器都会杀死所有输出。

我已经在关闭 Tracy 的情况下进行了测试,并且异常得到了输出。我只测试了一个页面(即:不是 ajax),并且 Tracy 正确地输出了异常。

我相信我已经将问题追溯到 Bluescreen::render():

public function render($exception)
    {
        if (Helpers::isAjax() && session_status() === PHP_SESSION_ACTIVE) {
            echo $exception->getMessage();

            ob_start(function () {});

            $this->renderTemplate($exception, __DIR__ . '/assets/BlueScreen/content.phtml');
            $contentId = $_SERVER['HTTP_X_TRACY_AJAX'];
            $_SESSION['_tracy']['bluescreen'][$contentId] = ['content' => ob_get_clean(), 'dumps' => Dumper::fetchLiveData(), 'time' => time()];

        } else {
            $this->renderTemplate($exception, __DIR__ . '/assets/BlueScreen/page.phtml');
        }
    }

echo在顶部添加了行。它得到输出。

我之所以询问 SO 而不是提交错误报告,是因为就在今天早上它正在工作 - 输出异常文本,然后是回溯,然后是一条消息,说“无法记录错误......”。所以我相当肯定问题是我的,但我不知道在哪里。

我已经删除了我的 Tracy 副本并从 GitHub 重新拉出,所以我使用的是最新最好的版本。

4

0 回答 0