嗯,我刚刚开始使用 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.
不知道有没有关系