gpt4 book ai didi

php - 在循环中使用 PHP 邮件强制用户等待页面显示

转载 作者:行者123 更新时间:2023-12-04 06:37:18 25 4
gpt4 key购买 nike

我有一个论坛,用户可以在其中订阅特定主题。当有人回复该线程时,该回复将添加到数据库中,并在显示成功页面之前向所有订阅者发送电子邮件警报。

仅供引用 - 我没有使用 PHP 的邮件功能,因为我的托管服务提供商每小时限制为 500。我正在使用 Google App Engine 通过 curl 发送电子邮件。

问题 - 当订阅者数量超过一百左右时,用户必须等待太久才能显示成功页面,因为 PHP 必须首先遍历每个订阅者。有没有办法绕过这个,而不必求助于将电子邮件插入数据库然后通过 cron 处理它们?

希望我说得有道理 - 提前感谢您的建议!

最佳答案

您可以编写邮件脚本并使用 shell 命令强制它在后台运行。

shell_exec("/path/to/php /path/to/send_notifications.php 'var1' 'var2' >> /path/to/alert_log/paging.log &");

使用 shell_exec PHP 的函数,你可以告诉 PHP 在后台运行一个脚本。您在 shell_exec 中看到的参数命令用空格分隔。
  • /path/to/php - 服务器上 PHP 的实际路径(您应该可以在此处使用“php”)
  • /path/to/send_notifications.php - 邮件脚本的路径
  • 'var1' 'var2' - $_SERVER['argv']您可以发送到脚本的变量将放在单引号中,并在脚本路径之后隔开。
  • >> /path/to/alert_log/paging.log - 日志文件的路径(可选),邮件脚本中回显的任何内容都将写入此文件
  • & - 最重要 这其中的一部分。 &告诉你的服务器在后台运行这个脚本

  • 这样做,当您执行邮件脚本时,提交表单的用户将不必等待脚本完成。浏览器将更快地加载页面,用户可以浏览离开确认页面甚至关闭浏览器,脚本将继续运行直到完成。

    关于php - 在循环中使用 PHP 邮件强制用户等待页面显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4708088/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com