PHP请求以串行方式而不是并行方式处理

PHP请求以串行方式而不是并行方式处理,php,imaplib,Php,Imaplib,我编写了一个页面(cron.php),它使用imap库连接到邮箱,解析消息,并将它们存储在数据库中,然后echos将结果转换为json。我有几十个邮箱需要运行相同的流程,因此我将一个页面(mailboxs.php)放在一起,列出所有这些帐户,每个帐户都有一个按钮,当单击时,基本上通过AJAX点击cron.php,并解析json响应,在流程完成时更新页面 但是,我注意到,如果我单击这些框中的每一个,它们返回时就好像是串行运行,而不是并行运行。是否有一个配置选项可以解释这一点?是的,您需要在cron

我编写了一个页面(
cron.php
),它使用imap库连接到邮箱,解析消息,并将它们存储在数据库中,然后
echo
s将结果转换为json。我有几十个邮箱需要运行相同的流程,因此我将一个页面(
mailboxs.php
)放在一起,列出所有这些帐户,每个帐户都有一个按钮,当单击时,基本上通过AJAX点击
cron.php
,并解析json响应,在流程完成时更新页面


但是,我注意到,如果我单击这些框中的每一个,它们返回时就好像是串行运行,而不是并行运行。是否有一个配置选项可以解释这一点?

是的,您需要在cron.php文件上使用
session\u write\u close()

是的,您需要在cron.php文件上使用
session\u write\u close()

您正在使用会话吗?每次为给定会话运行
session\u start
,它都会被锁定,直到脚本完成,或者会话被“分离”。是否使用会话?每次为给定会话运行
session\u start
时,它都会被锁定,直到脚本完成,或者会话被“分离”。

您正在通过ajax使用并行编程。那是错误的。由于浏览器的限制,您在任何时候都只能运行2个ajax请求。谢谢。这似乎也是问题的一部分。当我结束会话时,它们会更快地返回,但似乎也是成对出现的。如果我通过命令行调用php文件(例如,
php cron.php
),这个连接限制还会是个问题吗?不,您可以通过命令行启动任意多个进程。您正在通过ajax使用并行编程。那是错误的。由于浏览器的限制,您在任何时候都只能运行2个ajax请求。谢谢。这似乎也是问题的一部分。当我结束会话时,它们会更快地返回,但似乎也是成对出现的。如果我通过命令行(例如
php cron.php
)调用php文件,这个连接限制还会是一个问题吗?不,您可以通过命令行启动任意多个进程。谢谢,我没有意识到会话会锁定。谢谢,我没有意识到会话会锁定。