2

我在 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 页并打印此错误消息?

4

1 回答 1

2

HHVM 部分支持 PHP 的display_errorsINI 选项。HHVM 接受与 PHP 相同的 INI 格式,因此上面的文档对 HHVM 也很有用。HHVM INI 往往存在于 . 中/etc/hhvm,但这取决于您如何构建和安装 HHVM。

虽然支持是部分的,因此根据您的确切配置和您遇到的错误,它可能实际上没有效果。直接从 HHVM 中读取错误日志是更好的做法。(在存在部分呈现的页面时,它也不会令人困惑。)错误日志往往存在于 中/var/log/hhvm,尽管再次很大程度上取决于您构建和安装 HHVM 的方式。

“入门”页面包含有关如何进入我们最受支持的配置的信息,以及如果您这样做,INI 和日志文件将位于何处。它还包含有关如何运行 Hack typechecker的信息,如果您正在编写 Hack 代码,这是必不可少的。

于 2015-09-23T22:17:05.390 回答