多个PHP进程

时间:2011-11-15 19:00:05

标签: php jquery apache multiprocessing

我有一个页面,用户输入他们的电子邮件地址,点击“发送”,网络服务器将通过电子邮件向他们发送~10mb附件。现在,我的页面只显示“发送...”,用户在此页面上等待大约20秒。

相反,我想让它说“你的附件将在几分钟内通过电子邮件发送”,将该过程发送到其他地方并允许用户继续浏览而无需打开新标签。

我真的只需要有人指出我正确的方向,因为我现在甚至都不知道谷歌会做些什么。

2 个答案:

答案 0 :(得分:2)

您可以调用另一个处理电子邮件发送的php文件,并确保拨打此电话:

ignore_user_abort(true);

这样做可以让php进程完成,即使浏览器离开了。因此,您可以通过ajax启动该过程,然后转到另一个页面,说明您的附件已被发送。

欲了解更多信息:

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

答案 1 :(得分:0)

我建议您查看我之前发布的这个问题。

How can I run a PHP script in the background after a form is submitted?

答案解释了如何在提交表单后在后台运行PHP脚本。当然,这只是实现这一目标的一种方法。另一种方法是构建一个地址列表并设置一个cron来定时运行脚本。两者都可以完成同样的事情,它只取决于您希望如何解决问题以及您可以在服务器上执行的操作。