我在本地主机上使用3个月的Apache休息室。 今天,我发现我的Apache/PHP安装不是通过运行使用睡眠(10)&同时打开2个浏览器选项卡的脚本来实现的。 (第二个标签在第一个标签完成10秒后加载)。Apache不是多线程的?
我已经安装了Apache(apache.org版本),没有任何改变。 我使用PHP 5.3.6 VC9线程安全。
什么问题?
我在本地主机上使用3个月的Apache休息室。 今天,我发现我的Apache/PHP安装不是通过运行使用睡眠(10)&同时打开2个浏览器选项卡的脚本来实现的。 (第二个标签在第一个标签完成10秒后加载)。Apache不是多线程的?
我已经安装了Apache(apache.org版本),没有任何改变。 我使用PHP 5.3.6 VC9线程安全。
什么问题?
您必须确保您使用的是Apache的worker MPM,而不是prefork。根据您的安装,您可以简单地将/ usr/sbin/httpd2符号链接到/ usr/sbin/httpd2-worker(或安装在任何地方)。
当然,就你而言,你也可以增加配置中最大进程的数量,这应该使你能够打开多个选项卡并让它们同时运行。
事情是这样的:
StartServers 2
MinSpareServers 2
MaxSpareServers 8
ServerLimit 8
MaxClients 8
KeepAlive off
我有同样的问题。我将来自Chrome的3个浏览器标签的请求发送到一个本地脚本sleep(4)
,并且响应正在等待对方。但我检查了如果我从Chrome发送一个,然后从Firefox第二个这种情况不能复制
看起来你偶然发现浏览器功能: 只有当你切换到该选项卡时才加载背景选项卡;它是目前许多浏览器的默认设置(检查您的设置或使用两个不同的浏览器来检查)。 问候:-)
他说第二个标签加载10秒第一个之后的ds,所以可能不是。 –
这是一个很有缺陷的测试。在典型的基于PHP会话的站点中,您只需等待会话文件被前面的脚本发布即可。这对Apache内部没有提及。 –