我有一个发送通知邮件的PHP页面。当它发出超过100次时,它会超时。我希望页面能够像Kayak一样工作,以便用户可以看到进度(因此他们会等待更长的时间)。PHP页面超时 - 我可以通过异步显示来解决吗?
如何将我的页面快速发送邮件之前加载(防止超时),然后更新为当过程运行(例如,作为每封电子邮件被发送行被写入到屏幕)?
我有一个发送通知邮件的PHP页面。当它发出超过100次时,它会超时。我希望页面能够像Kayak一样工作,以便用户可以看到进度(因此他们会等待更长的时间)。PHP页面超时 - 我可以通过异步显示来解决吗?
如何将我的页面快速发送邮件之前加载(防止超时),然后更新为当过程运行(例如,作为每封电子邮件被发送行被写入到屏幕)?
你可以使用AJAX做到这一点。发送一个发出50(或任何其他适合时间限制的数字)的AJAX请求并回显结果。当请求成功完成后,使用名为offset的参数发送下一个AJAX-Request,该参数将用于跳过第一个X数据集。
使用AJAX。最好不要在服务器端的PHP。像这样的东西确实需要一个工作者线程 - 也许你可以用['proc_open()'](http://php.net/manual/en/function.proc-open.php)来模仿它,但这并不容易 - 你最好开始一个工作进程,然后用AJAX轮询数据库以获得进度更新。 – DaveRandom 2012-01-08 17:15:08