2011-08-19 43 views
4

我在本地主機上使用3個月的Apache休息室。 今天,我發現我的Apache/PHP安裝不是通過運行使用睡眠(10)&同時打開2個瀏覽器選項卡的腳本來實現的。 (第二個標籤在第一個標籤完成10秒後加載)。Apache不是多線程的?

我已經安裝了Apache(apache.org版本),沒有任何改變。 我使用PHP 5.3.6 VC9線程安全。

什麼問題?

+1

這是一個很有缺陷的測試。在典型的基於PHP會話的站點中,您只需等待會話文件被前面的腳本發佈即可。這對Apache內部沒有提及。 –

回答

0

您必須確保您使用的是Apache的worker MPM,而不是prefork。根據您的安裝,您可以簡單地將/ usr/sbin/httpd2符號鏈接到/ usr/sbin/httpd2-worker(或安裝在任何地方)。

當然,就你而言,你也可以增加配置中最大進程的數量,這應該使你能夠打開多個選項卡並讓它們同時運行。

事情是這樣的:

StartServers  2 
MinSpareServers 2 
MaxSpareServers 8 
ServerLimit  8 
MaxClients   8 
KeepAlive off 
+0

謝謝加布裏埃爾,在提問之前我已經改變了這個設置,但沒有任何改變。 如何切換到MPM? – Ahmad

+0

有幫助嗎?幫幫我?幫幫我? – Ahmad

+0

如果您成功增加了apache進程的最大數量,那應該可以解決您的問題,但更改爲多線程MPM應該甚至沒有什麼區別。你能發佈相關的Apache配置嗎? –

0

我有同樣的問題。我將來自Chrome的3個瀏覽器標籤的請求發送到一個本地腳本sleep(4),並且響應正在等待對方。但我檢查瞭如果我從Chrome發送一個,然後從Firefox第二個這種情況不能複製

0

看起來你偶然發現瀏覽器功能: 只有當你切換到該選項卡時才加載背景選項卡;它是目前許多瀏覽器的默認設置(檢查您的設置或使用兩個不同的瀏覽器來檢查)。 問候:-)

+0

他說第二個標籤加載10秒第一個之後的ds,所以可能不是。 –