2010-09-17 30 views
3

我已经编写了一个程序,使用fsockopen()fgets()来读取网上的网站内容或从网上将文件下载到我的服务器上。PHP中的多个进程

它使用While命令来接收标题。问题是:当脚本正在处理While时,唯一客户端无法在我的网站上请求另一个页面,它将等到While()完成处理。

有什么办法可以解决这个问题吗?

+0

你在什么样的环境中运行?像Apache这样的多线程Web服务器通常应该处理这个问题...... – deceze 2010-09-17 05:12:53

+0

它已经在Apache 2上运行,但是LocalHost ...有什么区别? – 2010-09-17 05:26:36

+0

可能有。但是,你的问题并不清楚。 您制作了一个脚本来从网络读取数据。看起来你正在重载你的服务器,如果你通过Apache运行这个脚本。 Apache很好地处理了多个请求。你使用的是Windows还是某种nix? – 2010-09-17 07:42:54

回答

0

这是一个多session_start()调用问题! 我在session_start()开始的文件末尾使用了session_write_close(),现在一切正常。 谢谢大家。

0

我们在项目中使用Process Forking。据我所知它只适用于* nix系统。也可以在没有网络服务器的情况下运行。

0

你一定是错误地编码了你的php脚本。

或者,也许,您的网络服务器存在问题。

+0

我甚至无法加载其他页面,但它在循环中:(( – 2010-09-17 12:11:25