2010-07-18 54 views
4

我试图使用ajax对php脚本进行多个同时请求,但是,它似乎只能一次执行1个实例,而且我无法连接到下一个呼叫直到前一个完成。为了让它在同一时间完成,我需要做些什么?我在Windows上使用apache(xampp)。我也在我的unix服务器上测试了这一点,同样的事情也发生在那里。允许运行一个php脚本的多个实例

+0

我非常怀疑你的服务器一次只允许一个连接。你更有可能在你的JavaScript中做错了什么 - 你可以发布它吗? – Skilldrick 2010-07-18 19:14:27

回答

14

从理论上讲,没有什么阻止一个PHP脚本被执行并行几次 - 否则,很多网站还会有大的问题;-)

因此,有可能是,在您的情况,一些锁定mecanism阻止这个...


如果你的脚本使用会话,而这些都是基于文件(这是默认值),这些会议可能会导致这样的问题:与默认会话处理程序,不可能有多个文件访问相同的会话数据(即se对应于给定用户的小数据);这是为了防止一个脚本覆盖另一个脚本的数据,并且应该不会被禁用。

因此,如果您的脚本正在使用会话:您可以停止使用会话吗?
如果没有,您应该尝试关闭它们,只要你不需要它们 - 解锁用来存储它们的文件。

下面是从session_write_close手册页报价,大约是:

会话数据通常存储后 你)脚本,而不 需要调用session_write_close(终止, 但会话数据锁定到 防止并发写入只有一个 脚本可以在任何 时间的会话上操作。
当将框架集 与会话一起使用时,您将通过 体验由于此锁定而加载的框架之一 。
您可以通过 尽快结束会话来减少加载所有 帧所需的时间 因为会话变量 的所有更改都已完成。

+0

是的,这是会议的事情,感谢吨的答案 – Yawn 2010-07-18 19:23:05

+0

很高兴听到:-) ;;;别客气。玩的开心 ! – 2010-07-18 19:24:38

相关问题