7

我使用 Simple HTML Dom Parser 编写了一个简单的爬虫来抓取一些东西。

这是一个简单的脚本,只运行 1 个进程,没有什么大不了的。但是一段时间后,"Segmentation fault (core dumped)"-error,当我在 shell 中运行它时,它会产生一个。

当我在浏览器中运行脚本时,它说

"Error: The connection to the server was reset while the page was loading.".

我已确保尽快处理unset()每个变量并增加了memory_limitin php.ini,但我仍然收到此错误:/

有人知道这意味着什么以及如何解决吗?

感谢您的任何建议!

4

5 回答 5

7

当 a 意外进行递归循环时,我遇到了这个问题,因此内存不足。但它告诉我的方式是Segmentation fault (core dumped)犯错误!

因此,查看您最近编写的代码并检查您是否犯了这样的错误!我的例子很简单(而且很愚蠢)。我只是有点快接受自动完成的建议:)

public function getAttendees()
{
    return $this->getAttendees();
}

希望这可以帮助将来的人

于 2015-06-02T23:48:58.507 回答
2

如果其他人对 Simple HTML Dom Parser 有同样的问题:在这种情况下,错误是由于网页太长引起的。SHDP 有一个预配置的“MAX_FILE_SIZE”。你必须在源中增加它simple_html_dom.php。见行:

define('MAX_FILE_SIZE', 600000);
于 2014-05-31T22:10:03.973 回答
2

我已经有了它,因为 /tmp 文件夹中的数据过多,VM 中的可用硬盘空间已结束

于 2015-09-22T11:54:13.310 回答
1

我认为“核心转储”只是意味着程序释放了内存并退出了。

分段错误通常发生在您尝试访问不属于您的内存的一部分时,或者通过延迟未初始化或无效的指针。

您会在某处传递/使用错误的句柄或超出数组吗?

于 2014-05-25T22:03:51.913 回答
-6

我只是有同样的问题。我在做

return $var;

这导致了错误。然而返回

return [$var][0];

工作。我确信对此有一个很好的解释,但我不知道。

于 2014-12-04T03:11:46.607 回答