我正在尝试使用ajax同时向php脚本发出多个请求,但是,它似乎一次只能执行1个实例,我无法连接以执行下一个调用,直到上一个调用完成。我需要做什么才能让它同时完成所有这些操作?我在Windows上使用apache(xampp)。我也在我的unix服务器上测试了这个,同样的事情也发生在那里。
答案 0 :(得分:15)
理论上,没有什么能阻止一个PHP脚本并行执行多次 - 否则,很多网站都会出现大问题; - )
所以,在你的情况下,可能存在一些阻止这种情况的锁定机制......
如果您的脚本正在使用会话,并且那些是基于文件的(这是默认的),那些会话可能会导致这种问题:使用默认会话处理程序,无法访问多个文件相同的会话数据(即与给定用户对应的会话数据);这是为了防止一个脚本覆盖另一个脚本的数据,并且可能不应该被禁用。
因此,如果您的脚本正在使用会话:您可以停止使用会话吗?
如果没有,你应该在不需要它们时尽快关闭它们 - 解锁用于存储它们的文件。
以下是session_write_close
手册页中引用的内容:
会话数据通常存储在之后 你的脚本终止没有 需要调用session_write_close(), 但是当会话数据被锁定时 防止并发写入只有一个 脚本可以在任何会话上运行 时间即可。
使用框架集时 与会议一起 体验框架加载一个 一个是由于这种锁定。你可以 减少加载所有的时间 尽快结束会话 作为会话变量的所有更改 完成了。