PHP - “分段故障(核心转储)”是什么 - 错误意味着什么?

时间:2013-03-30 04:16:45

标签: php

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

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

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

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

我确保尽快unset()每个变量并增加memory_limit中的php.ini,但我仍然会收到此错误:/

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

感谢您的任何建议!

5 个答案:

答案 0 :(得分:6)

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

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

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

希望这可以帮助将来的某个人

答案 1 :(得分:2)

如果其他人对Simple HTML Dom Parser有同样的问题:在这种情况下,错误是由于网页太长造成的。 SHDP具有预先配置的" MAX_FILE_SIZE"。您必须在simple_html_dom.php的来源中增加它。见行:

define('MAX_FILE_SIZE', 600000);

答案 2 :(得分:2)

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

答案 3 :(得分:0)

'核心倾销'我想只是意味着程序释放了内存并退出了。

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

你可以传递/使用坏句柄或在某个地方超越阵列吗?

答案 4 :(得分:0)

我有同样的问题。 我在做什么

return $var;

导致错误。但是返回

return [$var][0];

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