[英]PHP Session Limits mySQL queries for users?
我有一個我開發的 PHP 應用程序。 我注意到,如果我在多個窗口中使用該應用程序,使用相同的會話,並且如果一個窗口忙於執行重要的 mySql 任務,則在另一個窗口上,它不會完成,直到第一個窗口完成運行它的查詢. 我假設每個用戶會話允許的查詢數量有限制,並且 PHP 中有一個設置允許單個會話使用多個窗口或查詢,但我似乎找不到它。 你能指點我正確的方向嗎? 嘗試谷歌搜索,但無法找出正確的搜索方式。
謝謝!
基本上,當連接到 PHP 腳本時,PHP 會鎖定會話(用於寫入目的),並且對該會話的任何其他請求都排隊(以防止在從不同的 PHP 腳本同時寫入會話時出現任何意外錯誤)
並且會話被鎖定,直到執行 PHP 腳本,因此 MySQL 任務基本上是阻塞會話隊列。
只需在執行實際任務之前告訴 PHP 您將不再寫入會話。
<?php
session_start();
$user = $_SESSION["user"];
// you did your thing, now leave the session
session_write_close();
// some clogging task
while ($i < 10) {
sleep(1);
$i++;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.