0

您好,我在页面顶部显示了货币对汇率。速率值通过 getJson 在循环中为每对拉入。在我的开发服务器上,al 很好,但在实时服务器上,循环在第 4 次有时会在第 5 次迭代后停止执行,并且控制台中没有错误。

var tapeQuotePairs = [
  "EUR/USD",
  "GBP/USD",
  "AUD/USD",
  "USD/CAD",
  "USD/JPY",
  "USD/CHF",
  "USD/ZAR",
  "XAU/USD",
  "USD/BRL",
  "BTC/USD"
];

$.each(tapeQuotePairs, function(i, item) {

  var bc = item.split("/"); 

  $.getJSON(quoteUrl, {
      base: bc[0],
      quote: bc[1]
  })
  .done(function(data) {
    console.log(qi);
    console.log(quoteUrl); 
    qi++;
    if (qi == qCsize) {
      qSeparator = "";
    }else{
      qSeparator = ":::";
    }
    $("#ticktape").append(bc[0] + bc[1] + data.rate.toFixed(4) + qSeparator);
    })
  .fail(function() { 
    $("#ticktape").append(bc[0] + bc[1] + "n/a");
  });

});
4

1 回答 1

1

我查看了我的实时服务器的错误日志,发现了这个:

[Thu Aug 29 23:44:00 2013] [error] [client xxx.xxx.xxx.xxx] (12)无法分配内存:无法创建子进程:/somedirectory/suphp/sbin/suphp for /some/ home/public_html/xxx.php,引用地址: http ://example.com/

我在每个请求之前添加了 1 秒的延迟,并且在 php.ini 中也更改memory_limit = 16M;了。memory_limit = 256M;(共享主机)

到目前为止没有问题。(感谢@RobSchmuecker 为我指明了正确的方向)

于 2013-08-29T22:43:02.193 回答