0

我需要通过 php 在后台运行一些网站 url(http://domain.com/user.php?id=uniquetoken)(注意:网站 url包含 html、php 和 javascript ajax 请求)

我尝试了下面的代码,但它不起作用。谁能说出这有什么问题,或任何替代解决方案。

exec("wget http://domain.com/user.php?id=uniquetoken > /dev/null 2>&1 &");

Ps:我真正需要的是,当用户访问一个网站时,即使在他们关闭浏览器后也必须完成一些后台进程。(因为后台进程需要2分钟以上才能完成)

4

2 回答 2

2

实际上,这不是最好的方法。我没试过,但是当 PHP 进程终止时,它也会杀死你用exec()启动的孩子。当用户取消页面加载时,它无论如何都会停止。

您应该设置一个后台进程(例如,一个 PHP-CLI 脚本),并设置一个机制,用于从网站请求中触发该进程。比如说,bg proc 应该检查 db 表中的新记录,如果有的话,执行工作,然后删除记录。网页 PHP 应向其插入新的工作指令记录。

于 2012-10-15T10:29:06.187 回答
-2

试试file_get_contents("http://domain.com/user.php?id=uniquetoken");

PHP 有一个叫做“fopen url wrappers”的东西,它允许所有文件系统函数也使用 HTTP 和 FTP 之类的东西。

于 2012-10-15T09:39:10.540 回答