2010-07-18 49 views
4

我試圖使用ajax對php腳本進行多個同時請求,但是,它似乎只能一次執行1個實例,而且我無法連接到下一個呼叫直到前一個完成。爲了讓它在同一時間完成,我需要做些什麼?我在Windows上使用apache(xampp)。我也在我的unix服務器上測試了這一點,同樣的事情也發生在那裏。允許運行一個php腳本的多個實例

+0

我非常懷疑你的服務器一次只允許一個連接。你更有可能在你的JavaScript中做錯了什麼 - 你可以發佈它嗎? – Skilldrick 2010-07-18 19:14:27

回答

14

從理論上講,沒有什麼阻止一個PHP腳本被執行並行幾次 - 否則,很多網站還會有大的問題;-)

因此,有可能是,在您的情況,一些鎖定mecanism阻止這個...


如果你的腳本使用會話,而這些都是基於文件(這是默認值),這些會議可能會導致這樣的問題:與默認會話處理程序,不可能有多個文件訪問相同的會話數據(即se對應於給定用戶的小數據);這是爲了防止一個腳本覆蓋另一個腳本的數據,並且應該不會被禁用。

因此,如果您的腳本正在使用會話:您可以停止使用會話嗎?
如果沒有,您應該嘗試關閉它們,只要你不需要它們 - 解鎖用來存儲它們的文件。

下面是從session_write_close手冊頁報價,大約是:

會話數據通常存儲後 你)腳本,而不 需要調用session_write_close(終止, 但會話數據鎖定到 防止併發寫入只有一個 腳本可以在任何 時間的會話上操作。
當將框架集 與會話一起使用時,您將通過 體驗由於此鎖定而加載的框架之一 。
您可以通過 儘快結束會話來減少加載所有 幀所需的時間 因爲會話變量 的所有更改都已完成。

+0

是的,這是會議的事情,感謝噸的答案 – Yawn 2010-07-18 19:23:05

+0

很高興聽到:-) ;;;別客氣。玩的開心 ! – 2010-07-18 19:24:38

相關問題