AJAX 請求未同時運行
為了優化效能,在Web 應用程式中使用兩個同時的AJAX 請求來追蹤進度一項漫長的任務。但是,第二個請求會停止,直到第一個請求完成。
根本原因:會話阻塞
預設情況下,PHP 採用基於檔案的方法進行會話儲存。當使用 session_start() 啟動會話時,它會取得會話檔案上的獨佔寫入鎖定。因此,嘗試存取會話文件的所有其他請求都將被阻止,直到鎖被釋放。
解決方案:停用基於檔案的會話
一種解決方案是停用透過修改php.ini 設定檔來實現基於檔案的會話儲存:
此變更將會話資料重新導向到Redis 伺服器,消除了檔案鎖定問題。
或:關閉會話檔案寫入
或者,您可以透過在寫入資料後明確關閉會話檔案來釋放會話檔案寫入鎖定:
此技術允許會話資料稍後讀取,但可以防止其他請求被會話寫鎖定阻塞。
以上是以下是一些標題選項,可以使用問題格式: * 為什麼我的 AJAX 請求不能同時在 PHP 中執行? (聚焦問題) * 如何使用 AJAX 請求實現真正的並發的詳細內容。更多資訊請關注PHP中文網其他相關文章!