$_SESSION
變量存儲在客戶端或服務器上?
回答
$_SESSION
變量存儲的位置由PHP的session.save_path
配置決定。通常這是在Linux/Unix系統上的/tmp
。使用phpinfo()
功能,如果確定不是100%,通過與您的域的DocumentRoot
此內容創建一個文件,以查看特定的設置:
<?php
phpinfo();
?>
這裏是鏈接到PHP文件在此配置設置:
http://php.net/manual/en/session.configuration.php#ini.session.save-path
正如泰勒先生指出的,這通常是在php.ini中設置的。通常它們作爲文件存儲在特定的目錄中。
他們通常存儲在服務器上。它們的存儲位置取決於開發人員。您可以使用session.save_handler
配置變量和session_set_save_handler
來控制會話在服務器上的保存方式。默認的保存方法是將會話保存到文件。他們被保存的位置由變量session.save_path
控制。
在Debian上(對於大多數Linux發行版來說不是這種情況?),它保存在/ var/lib/php5 /中。如上所述,它是在你的php.ini中配置的。
另外還有一點需要注意的是,如果「/ tmp」是存儲會話數據的目錄(這似乎是默認值),那麼在重新啓動該Web服務器後會話將不會持續,因爲「/ tmp」通常在重啓過程中被清除。客戶端持久性的概念隨着服務器上存儲的持久性而變化 - 如果將「/ tmp」目錄用於會話數據,可能會失敗。
我使用的是Ubuntu,我的會話存儲在/ var/lib/php5中。
的Ubuntu 16.10的會話保存在/ var/lib中/ PHP /會話/ ...
它是如何工作的?它怎麼知道這是我?
大多數會話在用戶的計算機上設置一個用戶鍵(稱爲sessionid),如下所示:765487cf34ert8dede5a562e4f3a7e12。然後,當一個會話在另一個頁面上打開時,它會掃描計算機上的用戶密鑰並運行到服務器以獲取您的變量。
如果您錯誤地清除了緩存,那麼您的用戶密鑰也將被清除。由於您不知道您的ID,您將無法再從服務器獲取變量。
- 1. 變量存儲在哪裏?
- 2. 存儲$ _SESSION變量
- 3. 無法存儲$ _SESSION變量
- 4. 使用$ _SESSION存儲變量
- 5. golang環境變量存儲在哪裏?
- 6. nodejs在哪裏存儲變量?
- 7. selenium webdriver:存儲變量在哪裏?
- 8. .NET局部變量存儲在哪裏?
- 9. FORTRAN在哪裏存儲局部變量?
- 10. 存儲在變量棧中的變量在哪裏?
- 11. $ _SESSION變量僅存儲一個值
- 12. 在Java中存儲捕獲的變量在哪裏?
- 13. 環境變量在node.js中存儲在哪裏?
- 14. 你在哪裏將變量存儲在jinja中?
- 15. $ _SESSION變量不保存
- 16. 哪裏有靜態變量存儲在asp.net aspx頁面
- 17. 哪裏存儲在Java中的靜態變量?
- 18. 存儲靜態變量(數據段或堆或BSS)在哪裏?
- 19. 會話變量存儲在哪裏以及我們如何看?
- 20. 標記爲「動態」的變量值存儲在哪裏?
- 21. Java最終局部變量存儲在哪裏?
- 22. 我應該在哪裏存儲敏感變量?
- 23. 指針變量的大小被存儲在哪裏?
- 24. Firefox 49開發工具,其中「存儲爲全局變量」存儲在哪裏?
- 25. .NET「獨立存儲」存儲在哪裏?
- 26. PHP:$ _SESSION - 在$ _SESSION變量中存儲臨時使用的數據有哪些優缺點
- 27. 在哪裏存儲數據?
- 28. Git Stashes存儲在哪裏?
- 29. 這些存儲在哪裏?
- 30. BaseX Db在哪裏存儲?
在您運行php應用程序的服務器上,對於具體路徑,您必須檢查phpinfo() – densityx 2018-01-01 13:51:31