跨腳本共享全局$ _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. 在多個會話中共享變量
- 5. PHP跨會話變量
- 6. PHP會話共享
- 7. 跨腳本重複使用/共享PowerShell遠程會話
- 8. 會話變量是否在共享內存中?
- 9. Tomcat:跨會話共享靜態變量和方法。
- 10. 如何從共享會話變量
- 11. 有Coldfusion和asp.net共享會話變量
- 12. 是否可以通過cURL跨域發送PHP會話變量?
- 13. 跨腳本文件共享lua全局變量?
- 14. 跨多個文件共享變量
- 15. 跨多個會話的PHP共享對象
- 16. php子域會話共享
- 17. 會話共享在PHP
- 18. PHP的ASP共享會話
- 19. 與PHP共享Servlet會話
- 20. Flash和php會話共享?
- 21. PHP在會話過期時運行一個腳本
- 22. PHP的會話變量是否安全?
- 23. 跨節點應用共享Redis會話
- 24. Tomcat6.0.20上的跨域共享會話
- 25. rails 4共享會話跨子域
- 26. 如何跨子域共享symfony2會話
- 27. 從一個PHP腳本運行PHP腳本而不會阻塞
- 28. 在bash腳本之間共享變量
- 29. PHP會話變量不跨越
- 30. 使用會話數據從另一個腳本運行腳本