使用 HHVM 3.11 按 Box 喷出

Spout by Box with HHVM 3.11

我在 2gb ram 1vcpu vps 上使用 Ubuntu 预构建的 hhvm。我需要读取一些 csv 文件,所以我从声称内存使用率低于 phpexcel 的盒子中找到了 Spout。但是 HHVM 出现分段错误。我在同一台服务器上用 php-fpm 5.6 检查了它,但确实有效。

我的 csv 包含 6k 行 15 列。它会在我的应用程序中增加。

我试图从命令行减少 hhvm 和 运行 的内存限制,但 none 成功了。

消息是

Core dumped: Segmentation fault
Stack trace in /tmp/stacktrace.12516.log
Segmentation fault

并且堆栈跟踪包含

#0  feof(Resource id #4) called at [/home/<user>/public_html/grievance/Spout/Common/Helper/GlobalFunctionsHelper.php:215]
#1  Box\Spout\Common\Helper\GlobalFunctionsHelper->feof(Resource id #4) called at [/home/<user>/public_html/grievance/Spout/Reader/CSV/RowIterator.php:132]
#2  Box\Spout\Reader\CSV\RowIterator->next() called at [/home/<user>/public_html/grievance/test.php:47]

这是 GC 的问题。文件指针由 HHVM 的垃圾收集器收集,因此它正在创建一个分段错误。