【问题标题】:PHP script makes my website inaccessible for that userPHP 脚本使该用户无法访问我的网站
【发布时间】:2011-10-26 13:56:13
【问题描述】:

最近有人要求我开发一个允许群发电子邮件的 PHP 应用程序。为此,我有一个 PHP 脚本,它简单地从 MySQLDatabase 中获取电子邮件地址并循环遍历它们,个性化每个地址,然后发送它们。

它工作得很好,但是我们有一个小问题,当这个 PHP 脚本正在运行时(显然它需要几分钟才能运行),用户不能在应用程序上做任何其他事情。其他人可以访问它,但相关用户在发送电子邮件时无法加载应用程序的任何其他页面。

有没有办法解决这个问题,或者这只是我们必须忍受的事情?

【问题讨论】:

  • 它不漂亮,但也许弹出窗口可以解决问题?
  • 此应用程序是在共享主机还是专用主机上运行?您有权访问服务器设置吗? IIS 还是 Apache?
  • 确保它也不会超时

标签: php apache email virtual-server


【解决方案1】:

在这种情况下,用户对页面打开了一个会话,该页面当前正在处理一个 PHP 页面。因此,用户无法(在同一会话中)打开同一站点上的另一个页面。

处理此问题的一种方法是由用户启动此过程,但不要让用户正在访问的脚本发送电子邮件。例如,您可以在数据库中创建一个“待办事项”列表,然后让 cronjob 处理它。这样用户仍然可以访问其他页面。

【讨论】:

    【解决方案2】:

    确保您长时间运行的脚本没有应用会话。

    【讨论】:

      【解决方案3】:

      基本上,执行一个 php 脚本,然后将页面发送到客户端。因此,在脚本运行时访问者卡在页面上是正常的。

      查看此类任务的 cronjobs。

      【讨论】:

        【解决方案4】:

        你看过cronjobtutorial

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2018-09-15
          相关资源
          最近更新 更多