运行Php文件用户不在线时

时间:2012-10-11 18:08:10

标签: php

我有一个php文件,例如http://domain.com/user?id=uniquetoken,当用户使用唯一令牌访问该URL时,它会使用javascript和php执行大量操作,并且至少需要2分钟才能完成某项任务。如果用户是没有耐心,关闭完全没有执行任务的窗口,我需要的是当用户刚访问http://domain.com/user?id=token时,任务必须在后台完成。即使用户关闭窗口,任务也应该由php在后端,

我有一些想法,例如file_get_contents,会完全完成任务吗?有什么想法或建议吗?

编辑: 有人告诉我,file_get_contents(http://domain.com/user?id=token),另一个php文件是否有效?即使他们立即关闭它?我启用了ignore_user_abort().

2 个答案:

答案 0 :(得分:0)

您可以将所有这些网址,文件或数据库保存,并使用cron运行所有这些链接。 如果用户没有退出页面并且任务完成 - 从存储中删除链接。

答案 1 :(得分:0)

当用户访问http://domain.com/user?id=token时,只需在您要运行的php脚本上调用exec()

如果使用此功能启动程序,为了使其在后台继续运行,必须将程序的输出重定向到文件或其他输出流。使用输出重定向启动exec()后,即使用户关闭浏览器,它也会继续在服务器中执行。