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 代码,这是必需的。
我在 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 代码,这是必需的。