2011-06-19 53 views
5

我有一个请求需要大约1.5分钟才能完成,但是当请求完成时,它将阻止服务器的所有其他请求。我用mod_php使用Apache。解决这个问题的最好方法是什么?谢谢!长请求阻止Apache和PHP中的其他请求

+0

对于单个请求,1.5分钟确实很长时间。 – hakre

回答

13

[mod_telepathy]

你使用会话?如果是这样 - 虽然你没有用长脚本关闭会话,但其他人会等待它。

如果你不需要会话那里所有的时间 - 你可以用session_write_close()

[/ mod_telepathy]

+0

而“其他人”则表示“来自同一客户的其他人”。 :) – netcoder

+0

@netcoder:显然 - 是的;-) – zerkms

+0

@zerkms,我在C#中有同样的问题,你能帮我吗?! –

1

基于文件的会话将导致阻塞关闭。如果你使用数据库或memcache/redis,你可以防止这种阻塞。

+0

这显然是错误的。无论您定义了哪个文件处理程序,会话都会被阻止,直到它们被序列化并关闭。 – SimonSimCity