大型执行时文件中出现404 Not Found错误

时间:2015-04-10 06:36:25

标签: php xml for-loop internal-server-error php-ini

希望你做得好

我遇到问题而没有得到解决方案。 我有一个文件夹,其中包含结构“data / year / week /”中所有周和年的数据,每个文件夹包含一个“weekly.xml”文件,从2003年到2014年开始。 我需要从所有年份和周文件夹的weekly.xml文件中获取一些XML数据。当我用来获取所有年份的10周数据时我得到了所有正确但当我增加大小时我收到内部服务器错误消息“此外,在尝试使用错误文档处理时遇到404 Not Found错误请求” 我延长了INI的执行时间,但仍然遇到问题 当我只用一年的时间打电话给所有52个星期时,所有日期都正确,没有任何错误。

感谢您的帮助...

1 个答案:

答案 0 :(得分:1)

通常当我遇到这种错误时,我会收到HTTP 503内部服务器错误。 404表示您的apache或其他服务器找不到您要查找的文件。

这是我过去为我工作的一些东西,我为每个任务重置了PHP的超时。请注意这种方法,因为你不希望这种方法转变为无限循环。

$done = false;
while(!$done) {
  // Reset PHP's time limit so that you don't time out.
  set_time_limit(30);

  // Process single file here ...

  if (!$isLastFile) {
    $done = true;
  }
}

理想情况下,您希望缓存前几年和几个月的结果,而这些结果我假设不会发生变化。但是,您需要至少运行一次所有这些文件才能构建这样的缓存。

我可能还建议使用pcntl_fork的多线程方法,如果在您的操作系统上可用。查看http://php.net/manual/en/function.pcntl-fork.php