0

我的网站上有一个注册表单。表单通过 AJAX 发送到服务器,然后进行验证。然后,如果它被验证为有效信息,它将为浏览器输出一个重定向到的地址。然后 PHP 将向指定的电子邮件发送一封验证电子邮件。问题是电子邮件的发送需要 10 秒,我不希望我的用户等待 10 秒从他们按注册到他们被重定向......

PHP 有没有办法告诉客户端信息已正确验证并输出重定向 URL,并在客户端无需等待的情况下继续发送电子邮件?

4

1 回答 1

0

这称为后台作业。

以最简单的方式做到这一点(注意:不是最好的,而是最简单的):

  1. 我假设您将注册详细信息存储在某种形式的数据库中。添加一个额外的列来标记您需要向该用户发送验证电子邮件。

  2. 在另一个脚本中,检查数据库中设置了此标志的任何行,然后从那里发送电子邮件。

  3. 第二个脚本将由 cronjob 或类似任务按照您选择的时间表触发。

这样,用户无需等待那 10 秒。

有更有效的解决方案可以更好地应对更大规模的站点,但我猜你还不需要知道这一点,如果我把它们带入等式,事情就会变得混乱。如果您想了解更多信息,请查看作业队列。

于 2012-12-08T14:14:28.393 回答