在浏览器中显示致命/通知错误

2023-11-25

嗯,我刚刚开始使用 hhvm/hack。但我想向浏览器显示错误,但没有成功。

我将ini设置设置如下

error_reporting(E_ALL);
ini_set('display_errors', '1');

根据 var_dumpini_get值被设置为

string(5) "32767"
string(1) "1"

但当我这样做的时候

<?hh

error_reporting(E_ALL);
ini_set('display_errors', '1');

throw new InvalidArgumentException('test');

当我通过浏览器访问该页面时,我只会看到一个白屏和一个 500 http 标头。所以没有解释致命/异常错误。

我可以通过航站楼吗hhvm index.php它会显示;

Fatal error: Uncaught exception 'InvalidArgumentException' with message 'test' in /var/www/public/index.php:3
Stack trace:
#0 {main}

那么现在问题来了。为什么我在浏览器中没有收到任何消息,但在 cli 中却收到了?第二个问题是,如何让它在浏览器中工作以显示消息。

我遇到了这个question and this one。但第一个问题是一样的,但没有答案。第二个是关于静态检查的一些内容。 IE 给出了一个 int 等,至少我认为他是这个意思。

Other question我过来了,看起来和我的一样,但还是没有得到回应。

并根据docs我想它应该有效。

阅读更多我遇到的文档

尽管可以在运行时设置display_errors(使用函数ini_set()),但如果脚本存在致命错误,则不会产生任何影响。这是因为所需的运行时操作没有得到执行。

所以我认为异常是一个致命错误所以我就这么做了$test = $bar + 1;

这让 cli 能够

Notice: Undefined variable: bar in /var/www/public/index.php on line 8
int(1)

再次在浏览器中

int(1) 

所以我也没有收到通知。

当我重新启动 hhvm 时service hhvm restart我也收到错误消息Log file not specified under daemon mode.不知道有没有关系


嗯,我花了一些时间寻找,但终于找到了答案,请参阅此 github 帖子。但是它不能显示致命错误。但会显示通知

所以我编写了自己的错误处理程序;它尚未完成,但目前已完成工作。

警告,不检查 inidisplay_errors

set_error_handler(function ($errorNumber, $message, $errfile, $errline) {
    switch ($errorNumber) {
        case E_ERROR :
            $errorLevel = 'Error';
            break;

        case E_WARNING :
            $errorLevel = 'Warning';
            break;

        case E_NOTICE :
            $errorLevel = 'Notice';
            break;

        default :
            $errorLevel = 'Undefined';
    }

    echo '<br/><b>' . $errorLevel . '</b>: ' . $message . ' in <b>'.$errfile . '</b> on line <b>' . $errline . '</b><br/>';
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在浏览器中显示致命/通知错误 的相关文章

随机推荐

  • 您如何看待 Postgres 和 Firebird 数据库? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心以获得指导 我正在尝试在 postgr
  • makefile 错误:未定义对 main 的引用

    我正在尝试使用 make 编译我的代码 通常我这样编译我的代码 mipsisa32r2el timesys linux gnu g o testing I usr include libxml2 L develop xc4 rootfs p
  • Video.js 播放时进入全屏

    我已经搜索了很长时间 但仍然没有找到解决我的问题的有效解决方案 我似乎无法让视频播放器进入全屏 该 API 确实有很多示例 但似乎都不起作用 我当前正在处理的页面上包含的 jQuery 版本是 1 8 2 另外 我正在使用 parallax
  • 如何在 jQuery 变量中操作 HTML?

    我正在尝试操作存储在 jQuery 变量中的 HTML 我想在将变量写入文档之前进行此操作 所以 我有一个变量定义为 var sighting div span class feed name span div 我想把 hello worl
  • 如何更改 JTextArea 中的文本位置

    通常 在 JTextArea 中 文本从左上角开始 我希望它位于左下角 你怎么能这样做呢 如果我的笔迹无法辨认 请见谅 你可以锚定一个JTextArea to the BorderLayout PAGE END容器的位置并允许文本向上滚动
  • 在 RedHat 7.9 上的 systemd 服务 ExecStart 中使用 && 执行多个命令

    我在 Red Hat Enterprise Linux Server 7 9 Maipo 上有这个 systemd 服务 Unit Description EUM Server Service PartOf eum service Star
  • Visual Studio 签名失败(signtool.exe 错误)

    今天下午接受了一个较小的 Windows 更新后 我发现我无法再对我的 Visual Studio 应用程序进行签名构建 深入研究这个问题 我发现了signtool exe程序 它位于一个不起眼的目录 C Program Files x86
  • 每个端点的不同服务行为

    情况 我们正在某些 WCF 服务上实施不同类型的安全性 客户端证书 用户名和密码以及匿名 我们有 2 个 ServiceBehaviorConfigurations 一种用于 httpBinding 一种用于 wsHttpBinding 我
  • 有没有办法可靠地检测CPU核心总数?

    我需要一种可靠的方法来检测计算机上有多少个 CPU 核心 我正在创建一个数值密集型模拟 C 应用程序 并希望创建最大数量的运行线程作为核心 我已经尝试了互联网上建议的许多方法 例如Environment ProcessorCount 使用W
  • 对路径的访问被拒绝 - File.Move 失败,但 File.Delete 有效

    我正在尝试执行一个简单的File Move操作但我得到 System UnauthorizedAccessException 异常 对路径的访问被拒绝 据我所知 没有任何东西正在使用我试图移动的文件 包含文件夹也已关闭 我可以通过文件资源管
  • 以编程方式设置 iPhone 模拟器位置

    我刚刚更新到 XCode 4 2 发现了一个很酷的功能 可以让我手动设置设备位置 有谁知道如何以编程方式完成同样的事情 我想在一些单元测试中设置位置 以下 AppleScript 将允许您设置 iOS 模拟器的位置 应该可以将这种脚本集成到
  • 将 javascript 数组传递给 servlet

    我已经看过有关此主题的先前问题 但我的问题尚未解决 我将数组从 javascript 传递到 servlet JavaScript 代码 var action new Array function getProtAcionValues ro
  • prism/mvvm:将列绑定到 DataGrid

    我正在使用标准的 NET DataGrid 如下所示
  • 将二维数组表示为一维数组[重复]

    这个问题在这里已经有答案了 可能的重复 实现矩阵 使用数组的数组 2D 还是一维数组 哪个更有效 二维数组与一维数组的性能 有一天 我正在查看我朋友的一个分子动力学代码库 他将一些二维数据表示为一维数组 因此 他不必使用两个索引 而只需要跟
  • C++:'cout << 指针 << ++pointer' 生成编译器警告

    我这里有一个C 学习演示 char c M short s 10 long l 1002 char cptr c short sptr s long lptr l cout lt lt cptr t lt lt static cast
  • Rails 中的路径解析

    我正在寻找解析路由路径的方法 如下所示 ActionController Routing new post path parse gt controller gt posts action gt index 应该是相反的url for Up
  • 如何在 Cython 中声明 2D 列表

    我正在尝试编译这种代码 def my func double c int m cdef double f m m f c for x in range m for y in range m 这引发了 Error compiling Cyth
  • 在MySQL查询中将部分非数字文本转换为数字

    是否可以在 MySQL 查询中将文本转换为数字 我有一个带有标识符的列 该标识符由名称和数字组成 格式为 名称 数字 该列具有 VARCHAR 类型 我想根据数字 具有相同名称的行 对行进行排序 但列是根据字符顺序排序的 即 name 1
  • wget 中的递归下载如何工作?

    wget 用于镜像站点 但我想知道该实用程序如何下载该域的所有 URL wget r www xyz com wget如何下载域xyz的所有URL 它是否像爬虫一样访问索引页面并解析它并提取链接 简短回答 通常 是的 Wget 会抓取所有
  • 在浏览器中显示致命/通知错误

    嗯 我刚刚开始使用 hhvm hack 但我想向浏览器显示错误 但没有成功 我将ini设置设置如下 error reporting E ALL ini set display errors 1 根据 var dumpini get值被设置为