2

我有以下代码可以获取可变数量数组的交集。

$intersection = call_user_func_array('array_uintersect', $params);

使用测试数据,这非常有效。但是,当使用真实数据(这是一个更大的数据集,使用相同的代码,但在hhvmand上运行时,比较三个或更多数组nginx时出现以下错误:

Invalid operand type was used: array_uintersect expects array(s)

比较两个数组效果很好。

我检查了$params服务器上的输出,它肯定有正确的值。的所有元素$params都是数组,最后一个元素是具有值的数组:array_compare这是我的自定义数组比较函数的名称。

什么可能导致此错误?

更新:

我将 HHVM 更新到最新的夜间版本,还升级了我的服务器内存,看看它是否有帮助。然而,它没有。

更新:

我现在意识到 Laravel Homesteadhhvm默认不使用,并且在打开它之后:

sites:
- map: homestead.app
  to: /home/vagrant/Code/project
  hhvm: true

使用我的测试数据也重现了该错误。关闭 hhvm 时,交叉口完美运行。

4

1 回答 1

3

这看起来像是 HHVM 中的一个错误。我冒昧地为您提交了一个问题:https ://github.com/facebook/hhvm/issues/5585您可以在那里关注更多更新。

于 2015-07-04T07:23:26.970 回答