跨腳本共享全局$ _SESSION數組中的會話變量嗎?比方說,我把一個值放入$ _SESSION ['box'],可以另一個同時運行的腳本存儲另一個值與相同的密鑰?他們會衝突嗎?或者它會根據來自客戶端的會話ID來管理實際的變量值?是否跨運行腳本共享一個PHP會話變量?
1
A
回答
5
如果你有相同的瀏覽器調用2頁設置相同的會話變量,無論哪一個最後處理將設置值。
如果您有2個獨立的瀏覽器/用戶訪問相同的2頁,他們將設置唯一的值。
1
存儲在會話中的數據存儲在每個客戶端的基礎上 - 該ID通常由cookie傳遞。
這意味着你不能讓兩個用戶訪問同一個會話;這不是它存在的。
=> 2個用戶/瀏覽器/客戶端= 2個不同的會話= 2個不同的值。
如果你問在相同的使用/客戶端請求大約兩個腳本,並使用基於文件的會話(這是默認值),該用戶的會話文件應該由第一個腳本被鎖定的是開始,所以兩個腳本不能同時訪問它 - 如果兩個腳本試圖同時修改會話,這可能會導致問題。
=> 1個用戶,2個請求= 1個將被執行;那麼,只有第二個將被執行;意味着第一個設置的數據將從第二個設置中可見 - 只有在第一個完成後才能執行。
1
如果我正確理解你,那麼答案是後者:會話變量根據會話ID 進行管理,該會話ID分配給客戶端。
「會話」是指用戶/瀏覽器會話。新用戶/瀏覽器,新會話,新變量。
1
它在每個用戶會話中都是唯一的,但在該用戶會話中全局可用。如果一個腳本使用該鍵設置了一個變量,並且由同一用戶執行的第二個腳本使用相同的鍵設置了一個變量,則僅爲該用戶覆蓋該變量。
相關問題
- 1. 跨域的PHP共享會話
- 2. 在多個會話中共享變量
- 3. PHP跨會話變量
- 4. PHP會話共享
- 5. 跨腳本重複使用/共享PowerShell遠程會話
- 6. Tomcat:跨會話共享靜態變量和方法。
- 7. 跨多個文件共享變量
- 8. 跨多個會話的PHP共享對象
- 9. 與PHP共享Servlet會話
- 10. PHP的會話變量是否安全?
- 11. 跨節點應用共享Redis會話
- 12. 使用會話數據從另一個腳本運行腳本
- 13. 在PHP登錄腳本中使用會話和會話變量
- 14. 不同用戶/會話之間的php共享變量
- 15. PHP在子域之間共享會話變量
- 16. Ruby:在一組腳本中共享公共變量和方法
- 17. PHP得到一個PHP會話變量
- 18. 共享會話
- 19. 解決跨站腳本資源共享
- 20. 如何使用PHP會話在下一個PHP腳本中使用變量?
- 21. 是否有可能在servlets/jsp和javascript函數之間共享會話變量?
- 22. PHP腳本不會運行
- 23. PHP腳本不會運行
- 24. 如何在本地IIS跨端口共享會話?
- 25. 公共變量作用域是針對所有會話還是每個會話都有其變量副本?
- 26. php變量會話變量
- 27. 共享庫/ dll中的全局變量,跨進程共享
- 28. 跨會話執行php腳本,請求和範圍之外
- 29. 我的共享變量是否會失去價值? (asp.net VB)
- 30. Nodejs:跨流星和共享會話作爲獨立實例運行