【发布时间】:2015-08-22 18:26:14
【问题描述】:
目标
我正在尝试创建一个 PHP 脚本,该脚本通过电子邮件将一个相当大 (6MB) 的 PDF 文件发送给请求它的网站上的用户。用户在表单中输入他们的电子邮件地址,提交表单,然后文件通过 PHP Mailer 实例发送给他们。用户在提交表单时会显示一个成功页面。
问题
通过 POST 方法提交数据后,有很长时间的停顿,服务器最终返回 404。但是,几分钟后,带有 PDF 附件的电子邮件完全正常接收。
疑难解答/尝试的解决方案
我将问题归咎于 PHP Mailer 只是因为附件过大而导致发送电子邮件的时间过长。服务器超时并求助于返回 404。与此同时,脚本最终完成处理并随后收到电子邮件。
如果我删除附件并只发送一封空白电子邮件,脚本会很快加载并显示成功/确认页面。
我考虑过创建一个重定向,但是我在任何地方都找到了关于如何在 PHP 中实现重定向的解释,据说你应该杀死原始脚本(我不想这样做)。
问题
如何让电子邮件脚本花时间运行,同时立即向用户显示成功消息,以免他们感到困惑?
【问题讨论】:
-
在你的 php.ini 中。尝试更改 max_execution_time