我知道PHP會在腳本末尾自動關閉打開的MySQL連接,打開持久連接的唯一可行方法是使用適當的PHP函數;許多問題已經被提出並回答。 我想知道的是利益 - 或不便 - 保持暫時的連接,而不是持續連接
編輯的: 每個PHP用戶會話持久連接。
例如,語句如下列:PHP在腳本末尾自動關閉連接
session_start();
$connection = new mysqli($host, $user, $pass, $db);
$_SESSION['connection'] = $connection;
可能設立跨導航網站由同一用戶在同一會話中執行多個查詢中有用的mysqli的對象的引用。
如果連接在啓動後不久就會被使用,那麼將其作爲進一步查詢的正確選擇將不會是正確的選擇嗎?也許這種方法會產生一個不方便的情況(以及可能存在的安全風險),當多個用戶是一個網站的HTTP請求頁面時,這會使MySQL連接保持活躍狀態? 我想知道更多。謝謝。
我也想知道這將如何影響性能和安全性:),upvoted問題 – Webeng
每個請求是PHP一個新的生命週期,它不具有持續性一個類似的狀態你可能會得到其他地方。如果您要爲多個請求/用戶使用相同的連接,那麼您可能會看到競爭條件(首先完成哪些查詢),獲取「最後插入的ID」可能會給您另一個用戶插入的ID等 – JimL
這是不可能的序列化(保存mysqli連接)到會話,所以示例代碼將無法按預期工作。 – drew010