即使用户离开页面也执行php脚本

时间:2012-11-05 20:56:22

标签: php background-process

我想运行一个php脚本,用于在用户指定的时间内从其他站点(类似爬虫)收集数据。防爆。如果用户选择爬行5分钟,即使用户离开页面,php也将启动并运行5分钟。然后他回来看看结果。

2 个答案:

答案 0 :(得分:1)

ignore_user_abort - 设置客户端断开连接是否应中止脚本执行

http://php.net/manual/en/function.ignore-user-abort.php

还有许多事情需要考虑,比如脚本执行超时。更“企业化”的方法是将工作卸载到作业或消息队列。

答案 1 :(得分:0)

我认为你应该看看crontab / cronjob(如果你使用的是linux网络服务器)。

然后,您可以建立一个应该抓取的内容以及针对谁的数据库。

如果您没有登录系统,则应将爬网结果链接到用户浏览器中的会话或cookie。

创建脚本和数据库后,您可以使用SSH / Telnet中的此命令使收集数据的php脚本每分钟运行一次:

*  *   *   *   *   php /path/to/script.php

如果您无权访问SSH / Telnet shell,则大多数控制面板都具有crontab功能。