回答
Cookie存儲在瀏覽器中,而不是PHP中。您可以通過查看$ _COOKIE ['cookiename']來獲取瀏覽器發送的cookie,但據我所知,您不能設置這樣的cookie - 您需要使用setCookie()或可能的標題('Set-曲奇餅: ...')。
會話可以存儲在任何地方,但它們通常只是服務器文件系統上的文件;你的php.ini(或ini_get()函數)可能會有助於找出在哪裏。嘗試:
$session_file_name = ini_get('session.save_path')."/sess_".session_id();
HTTP是stateless。這意味着無論您何時從網絡服務器請求某些內容,它都會爲請求的頁面提供服務,並立即將您遺忘。
想象一下購物車:
您在購物車中添加了物品。服務器將有一些數據存儲器,以記住您將物品X放入購物車中,但由於HTTP是無狀態的,因此下次打電話給服務器時,它不會記得您是否將某物放入購物車。網絡服務器可以在返回的頁面上創建一個表單,並將其添加到每個項目中。現在你添加另一個項目,但也發送,你已經添加了哪個項目。重複。這可以有效地在每個請求上傳輸交互的整個狀態。但這是相當低效和不安全的。
隨着Sessions enabled,網絡服務器將爲您創建一個唯一的ID,即所謂的Session ID。這將用於在後續請求中鏈接您和購物車。通常,會話ID以Cookie的形式發送到瀏覽器。從技術上講,這種情況通過HTTP頭:
Set-Cookie: PHP_SESS=abcdefg123456
瀏覽器讀取頭,並創建或在瀏覽器內該cookie存儲更新cookie文件。通常,Cookie文件只不過是計算機上文本文件中的鍵/值存儲。如果你想看看他們谷歌爲「哪裏[browsername]存儲我的餅乾」。
在對同一個網絡服務器的下一次請求中,您的瀏覽器將一起發送cookie,網絡服務器現在可以將此ID與服務器上的某個數據存儲(無論設置爲session save handler)關聯起來,例如登錄信息,購物車的內容等
請參閱PHP手冊的參考我已在您的問題的下面鏈接瞭解更多詳細信息。
- 1. 在基於cookie的會話存儲中,會話和Cookie是同一件事
- 2. PHP cookie和會話
- 3. PHP會話和cookie
- 4. PHP會話內部使用Cookie嗎?什麼是會話cookie?
- 5. 在cookie和存儲中的PHP會話ID
- 6. Web API Cookie和會話存儲
- 7. PHP未設置會話和Cookie
- 8. 什麼是無Cookie會話?
- 9. IE7中會話cookie的位置是什麼?
- 10. PHP,會話Cookie和Internet Explorer
- 11. PHP登錄會話和cookie
- 12. PHP會話和cookie破壞
- 13. PHP註銷cookie和會話
- 14. PHP會話和cookie問題
- 15. 什麼是「會話cookie」,我該如何設置它?
- 16. 存儲和會話
- 17. 什麼是會話和會話變量?
- 18. 將PHP會話和cookie作爲緩存選項是不好的?
- 19. PHP會話設置:概率和除數的作用是什麼?
- 20. 什麼叫會話存儲?
- 21. 在PHP中使用cookie和會話類
- 22. Cookie和會話問題在php/mysql/wamp
- 23. 什麼是Windows 7和8中的孤立存儲位置?
- 24. 什麼是VisualSVN中的「位置」和「存儲庫」?
- 25. PHP:session_name和cookie會話名稱之間的區別是什麼
- 26. Cookie和會話之間的關係是什麼?
- 27. PHP/Drupal,會話存儲和加密
- 28. PHP:會話狀態存儲和檢索
- 29. 將Cookie存儲到Cookie或會話中?
- 30. 爲什麼要在服務器上存儲會話而不是在cookie中?
沒有確切的答案。這取決於你的服務器是如何配置的。 – animuson 2010-06-21 06:57:22
*(參考)* [PHP會議手冊](http://de3.php.net/manual/en/book.session.php) – Gordon 2010-06-21 06:59:51