簡體   English   中英

PHP Session 限制用戶的 mySQL 查詢?

[英]PHP Session Limits mySQL queries for users?

我有一個我開發的 PHP 應用程序。 我注意到,如果我在多個窗口中使用該應用程序,使用相同的會話,並且如果一個窗口忙於執行重要的 mySql 任務,則在另一個窗口上,它不會完成,直到第一個窗口完成運行它的查詢. 我假設每個用戶會話允許的查詢數量有限制,並且 PHP 中有一個設置允許單個會話使用多個窗口或查詢,但我似乎找不到它。 你能指點我正確的方向嗎? 嘗試谷歌搜索,但無法找出正確的搜索方式。

謝謝!

你見過session_write_close()嗎?

基本上,當連接到 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM