PHP后台进程(创建在服务器上运行的管理器进程)。

时间:2012-12-24 18:29:13

标签: php process background signals posix

我有一个带有按钮的网页,当我点击按钮我希望它将数据发布到php文件时 - 我对这一点很好。问题是我希望PHP文件然后在与httpd无关的服务器上启动一个进程,所以如果我关闭网页,PHP脚本仍将运行到最后(它是一个长时间运行的脚本)。

长时间运行的脚本会执行需要一段时间的各种任务,它会将进度写入.json文件。我在网页上设置了我的JavaScript,每秒读取进度并更新进度条等...我想要它,即使我关闭网页脚本仍然会运行到最后,这样我就可以来每当回来检查进度等。

我一直在读书,发现大多数人都说要使用exec,但这对我不起作用(虽然我在wamp下测试Windows,也许这就是为什么?)

我被告知我应该使用在服务器上运行的管理器进程(而不是通过apache)或使用POSIX信号。我不确定任何这些,所以任何帮助将不胜感激,无论是解释,代码或链接到好文章

我希望保持脚本设置如果可能的话,所以我只需要弄清楚如何在httpd上启动后台进程。

我提前感谢你们,

1 个答案:

答案 0 :(得分:0)

我在PHP网站的comment中找到了这个建议。

pclose(popen("start /B ". $cmd, "r"));