PHP脚本使我的网站无法访问该用户

时间:2011-10-26 13:56:14

标签: php apache email virtual-server

我刚刚被要求开发一个允许大量发送电子邮件的PHP应用程序。为此,我有一个PHP脚本,它只是从MySQLDatabase中抓取电子邮件地址,然后通过它们对每个电子邮件地址进行个性化,然后发送它们。

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

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

4 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:1)

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

答案 2 :(得分:1)

您是否看过cronjobtutorial

答案 3 :(得分:1)

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

看一下cronjobs来完成这些任务。