所以我找到了很多关于运行php脚本作为后台进程的教程/指南,但无论使用哪个代码,该进程仍然在浏览器中可见。PHP后台进程仍然影响页面加载
我正在做的是触发一个可能需要5-10秒才能运行的脚本(依赖于第三方API)。我把触发器放在页面的最底部,以便页面看起来完全呈现,但我注意到浏览器状态栏仍然显示页面正在加载,直到脚本运行。此外,Firebug将一个(随机)图像显示为正在加载,直到php脚本完全运行完毕。我可以在top
中查看该脚本,并将其作为单独的进程运行。我怎样才能让浏览器停止等待它完成?
我目前使用的代码是:
shell_exec('sleep 30 >/dev/null 2>/dev/null &');
我也使用EXEC尝试()但没有任何区别。
声明:我的最终代码将使用/usr/bin/GET
,睡眠只是对发生了什么事情很明显。
这似乎很适合用于后台处理同一脚本中的一些代码。我想我可以调整我的代码来处理这个问题。谢谢。 – Brandon0 2010-11-01 18:05:12
真棒!感谢您的参考,非常适合bg处理 – Benn 2012-10-20 01:40:12