我在本地主機上使用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內部沒有提及。 –