在Web 技術發展歷史上,雖然 Cookie 技術的出現是重大的變革,但Cookie 實在客戶端的電腦中保存資料,所以引起了一個爭議:使用者有權阻止Cookie 使用,使Web 伺服器無法通過Cookie來追蹤用戶資訊。而 Session 技術是將使用者相關的資料存放在伺服器系統之下,所以使用者無法停止 Session 的使用。
可以將 Cookie 比喻為第一次去商場時,商家為顧客辦理的購物會員卡,並由顧客自行保存。如果顧客下次再去商場時忘記攜帶購物卡,或是把購物卡遺失了,這樣用戶就不能再使用會員資格來購物了。但是如果商家再為客戶辦理完會員卡之後,由商場來保存這張會員卡,用戶就不需要把卡放在自己身上了。但是商場辦理會員卡的客戶特別多,當客戶每次來商場消費時,商場怎麼知道客戶是不是商場的會員呢? 這就要在客戶來商場辦理會員卡的時候,商場會要求保存客戶班裡的會員卡的卡號,當下次客戶再來購物消費時,商場就可以透過客戶的卡號查詢到會員卡的登記消費等信息了。
Session就是這樣,在客戶端只需要保存由伺服器為使用者建立的一個Session 識別碼(相當於會員卡的卡號),稱為
Session ID,而在伺服器端(檔案/資料庫中)保存Session 變數的值。 Session ID是一個既不會重複又不容易被找到的有規律的、由32位十六進位數組成的字串。 Session ID 會保存在客戶端的 Cookie裡,如果使用者封鎖 Cookie 的使用,則可以將 Session ID 保存在使用者瀏覽器網址列的 URL中。
在php設定檔中,有一組和 Session 相關的設定選項。透過一些選項的設置,就可以對 Session 進行配置,否則將使用預設的 Session配置。
php.ini設定參考項目:
1. 處理session存取的模式
#2. session檔案儲存路徑 ## 3. session使用cookie的功能,啟動: 1
session.use_cookies = 1#
# #
session. name = PHPSESSID 5. 自動啟動;0:關;1:開啟
#c
6. session使用cookie 7. cookie有效作用網域名稱 session.cookie_domain = "a.com"
/1000;不建議設置過小,因為session的垃圾回收,是需要檢查每個文件是否過期的 session.gc_probability = 1
session.gc_divisor = 1000
9.
# session.gc_maxlifetime = 1440
#### ###以上是php中如何配置Session的詳細內容。更多資訊請關注PHP中文網其他相關文章!