如何使用HHVM禁用JIT编译?

时间:2015-04-24 14:21:01

标签: php xdebug jit hhvm

我正在与hhvm 3.6.1合作 - 请不要理解我对HHVM内部的有限理解以及它如何执行JIT。

我正在尝试在HHVM中抑制JIT编译并在解释模式下运行php。现在我猜你可以将php.ini中的热身请求设置为一些任意高的数字,如:

 hhvm.eval.jit_warmup_requests = 1000

但是,我想知道是否有人知道像jit_enabled=false

这样的设置

我这样做的原因是我看到运行xdebug并运行远程调试(看似随机的seg错误,文件与断点不匹配)以及想要将JIT考虑在内 - 这是否有意义所有这些都与HHVM如何运作有关。

2 个答案:

答案 0 :(得分:0)

https://github.com/facebook/hhvm/wiki/INI-Settings声称INI表单确实是hhvm.jit - 不确定这是否准确,但命令行选项肯定是-v Eval.Jit=false。 (我很好奇你是如何确定JIT仍然启用且该选项不起作用的?)

也就是说,xdebug被认为是有效的,而且FB的团队(以及几乎所有用法,FB和out内部)都在启用JIT的情况下运行。信不信由你,此时实际上可能比解释者支持更好

如果您遇到xdebug问题,则应提出问题:https://github.com/facebook/hhvm/issues

答案 1 :(得分:0)

这也困扰了几个小时。

要禁用JIT,您应该在server.ini中查找“hhvm.jit = 1”,而不是php.ini。