使用了无效的操作数类型:array_uintersect期望数组

时间:2015-07-04 01:26:09

标签: php nginx laravel-5 hhvm array-intersect

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

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

使用测试数据,这非常有效。但是,当使用真实数据(这是一个更大的数据集,使用相同的代码,但在hhvmnginx上运行时),当比较三个或更多数组<时,我会收到以下错误/强>:

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

比较两个数组可以正常工作。

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

可能导致此错误的原因是什么?

更新

我将HHVM更新到最新的每晚版本,并升级我的服务器内存,看看它是否会有所帮助。但是,它没有。

更新

我现在意识到Laravel Homestead默认情况下不会使用hhvm,而是在启用它之后:

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

使用我的测试数据也重现了错误。当关闭hhvm时,交叉路口工作正常。

1 个答案:

答案 0 :(得分:3)

这看起来像是HHVM中的一个错误。我冒昧地为你提出了一个问题:https://github.com/facebook/hhvm/issues/5585你可以跟随那里进行更多更新。