hhvm hack lang 错误 500 而不是错误报告

hhvm hack lang error 500 instead error report

我在 nginx dockered 服务上玩过 hack。一切都很好,而不是引发错误。例如这个函数:

echo add_one("1");

function add_one(int $x): int {
  return $x+1;
}

这应该会产生错误,因为它不是整数。但是我返回了 500 页的错误消息。

在控制台输入 hhvm index.hh 得到:

Catchable fatal error: Argument 1 passed to add_one() must be an instance of int, string given in /var/www/index.hh on line 7

如何避免 500 页并打印此错误消息?

HHVM 部分支持 PHP 的 display_errors INI option。 HHVM 接受与 PHP 相同的 INI 格式,因此上述文档对 HHVM 也很有用。 HHVM INI 往往位于 /etc/hhvm 中,但这取决于您构建和安装 HHVM 的方式。

支持是部分,因此根据您的具体配置和遇到的错误,它可能实际上没有效果。阅读错误是更好的做法直接退出 HHVM。 (在存在部分呈现的页面时,它也不会那么混乱。)错误日志往往存在于 /var/log/hhvm 中,但同样在很大程度上取决于您构建和安装 HHVM 的方式。

The "Getting Started" page has information on how to get into our best-supported configuration, and where the INI and log files will live if you do that. It also has information on how to run the Hack typechecker,如果你正在编写 Hack 代码,这是必需的。