我有一段代码通过给它一个ID来获取数据。 例如,如果我给它一个ID 1230,则代码从一个网站(外部)获取ID为1230的商品数据,并将其插入到DB中。

现在,问题是我需要获取所有文章,比如说从ID 00001到99999。如果执行“ for”循环,则60秒钟后PHP内部时间限制将停止循环。 如果使用某种header("Location: code.php?id=00001")header("Location: code.php?id=".$ID)并增加$ ID ++,然后重定向到浏览器的同一页由于无限循环或重定向问题而使我停下来。

请帮忙!

#1楼 票数:1 已采纳

如果您的服务器允许您,那么这可能是最好的解决方案:只需删除此脚本的时间限制。

set_time_limit(0);

#2楼 票数:0

嗯,有几种方法可以做到这一点。

最好的方法是设置一个cron,每隔X分钟执行一次抓取工具。

sed之后,您将需要跟踪当前使用的id。

因此,如果您设置了写入文件的功能,则可以执行以下方法

-

打开文件(获取当前ID),在ID处启动Parser 60次。插入数据打开文件,并使用新的ID更新文件,然后关闭文件并退出。

这将花费几个小时甚至需要很长时间。

  1. 是如果您手动执行此操作并坐在那里并且每次脚本完成后都刷新一下,那么您可以使用会话,而不用将ID写入文件

     `session_start(); $id = (isset($_SESSION['position']) ? $_SESSION['position'] : 0); for($i=$id;$<=9999;$i++) { //FetchItem($id); //Or whatever function it is you use! //Update the id for next run. $_SESSION['position'] = $id; }` 
  2. 如果您愿意覆盖服务器资源,则可以使用set_time_limit(120)或60秒钟将60秒延长60秒。

#3楼 票数:0

如果您的服务器不允许您更改脚本时间限制,只需让脚本检查数据库中序列中最后插入的文章,然后从那里开始。

另一种方法:使用Javascript“ window.location =”代替标题进行重定向。

  ask by Jonathan translate from so

未解决问题?本站智能推荐:

3回复

为什么此PHP标头()重定向陷入无限循环?

我有一段代码,它应该获取当前日期,将其与设置的结束日期进行比较,如果当前日期晚于结束日期,则将其重定向。 每当我将$ promoend设置为过去的日期时,都会陷入重定向循环。 if()块仅应在升级已结束且我尚未位于closed.php页面上时重定向。 知道为什么会陷入循环吗?
3回复

PHP:为什么这是一个无限循环? [关闭]

我正在尝试使用PHP脚本批量生成SQL语句,以生成从0到6的x,y坐标的所有可能组合。这应该是总共49个组合,我不想一一插入。 我正在努力弄清楚为什么这是一个无限循环。
2回复

PHP的增量字母导致无限循环

我在弄清楚这是否是PHP“功能”或错误时遇到了麻烦。 进行如下循环: // PHP code for($i='A1';$i<='c1';$i++){ //something here.. } 导致无限循环。 为什么会这样呢? c1应该“小于” A1,或者至少在A1达到C1
1回复

所有重定向到无限循环

我想重定向除.html .js .jpg等之外的所有请求,例如www.mydomain.com/products应该转到/index.php?p=cats&s=cars,而www.mydomain.com/myproduct.html应该去www.mydomain.com/index.p
2回复

登录重定向时出现无限循环

我有一个通常对我有用的登录脚本,但是在检查存储的登录cookie后,有时会进入重定向的无限循环。 浏览器将报告如下内容:“ Firefox已检测到服务器正在以永远无法完成的方式重定向对该地址的请求。” 其他人也报告了此问题。 以下是登录过程的关键元素。 我想知道是否有人可以看到此过程/脚
3回复

在Apache中跟踪无限循环重定向

我有一个导致无限重定向循环的PHP脚本,但我不知道如何检测到它。 有什么办法可以检测到这一点? 我可以在.htaccess中添加任何命令以将重定向写入日志吗? 提前致谢,
1回复

登录中不必要的无限循环[重复]

这个问题已经在这里有了答案: 3个不同等于 5个答案 我正在尝试使用Cookie进行登录,但是无法使其正常工作,因为每次都遇到一个无限循环,我已经开始思考如何解决它。 就像这样,它将显示所有内容,存储cookie并重定向到panel.php,但是验证不再起作用,我
2回复

Apache SetHandler PHP脚本重定向循环

使用Apache的SetHandler强制所有内容请求通过PHP身份验证脚本(Apache 2.2.15,PHP 5.3.3)时,我遇到无限循环问题。 我的目标是让PHP身份验证包装验证尝试访问网站内任何内容的用户。 因此,例如/securesite/securefile.html或/s