【问题标题】:PHP FOR loop stops after 2 loops, exit status 139PHP FOR 循环在 2 次循环后停止,退出状态 139
【发布时间】:2013-02-08 19:59:06
【问题描述】:

我正在使用 Scraper Wiki 构建一个刮板,这里:https://scraperwiki.com/scrapers/fashfinder/edit/#

为了不让您厌烦太多细节,我将大约 120 个链接加载到一个数组 $allLinks 中。然后,在页面底部,我在数组上调用了一个 FOR 循环,如下所示:

for ($i = 0; $i<count($allLinks); $i++){
   getInfo($allLinks[$i]);
};

getInfo() 是一个从提供的链接获取产品信息的函数。该函数适用于 $i = 0 和 $i = 1。然后,当 $i = 2 发生故障时 - 源被加载到刮板中,整个过程停止。没有错误,但它显示“退出状态 139”。

我尝试使用 $allLinks = array_reverse($allLinks); 反转 $allLinks 数组,但发生了完全相同的事情 - 它刮了 2 页,到了第 3 页,然后突然停止了。

关于这里出了什么问题的任何想法?找不到太多关于“EXIT STATUS 139”是什么意思的信息,尤其是关于scraperwiki!

【问题讨论】:

  • 做一个桶卷 xD....请在 $allLinks var 上的 var_dump 或 print_r 上添加一些信息
  • @RobertRozas 你去pastebin.com/LNMtds2Z 几乎是正确的输出 - 它抓取了 122 个链接。问题出在 FOR 循环上,但不知道是什么。
  • @RobertRozas 即使我设置 ` for ($i = 0; $i
  • @RobertRozas 问题很可能出在 getInfo 函数中。将其注释掉,只需输入 echo 'test'; 或其他内容即可。
  • @sachleen 有个好主意。

标签: php web-scraping screen-scraping scraperwiki


【解决方案1】:

可能正在尝试这个:

foreach ($arrayLinks as $key => $value) {
  getInfo($value);
}

PS:你的数组的 var_dump 看起来不错,可能是你的 getInfo 函数有问题。

感谢 ;)

【讨论】:

  • foreach 不会解决问题,但我同意它会比当前的 for 更有效。
  • 没错....但就像我说的....我认为问题可能存在于 getInfo() 函数中。
  • @RobertRozas 这是 getInfo() 函数:pastebin.com/XGyVdmAu 这是完整的代码:pastebin.com/SZ8XFCaF
  • 我最近发现这个信息:退出代码139是信号139-128=11,分段错误。这可能是空指针取消引用或堆损坏。不可否认,这是一个错误,但原因几乎可以是任何原因。
猜你喜欢
  • 1970-01-01
  • 2013-05-31
  • 2013-03-01
  • 2022-01-11
  • 1970-01-01
  • 1970-01-01
  • 2012-05-01
  • 1970-01-01
  • 2023-04-01
相关资源
最近更新 更多