PHP手冊關於session.save_path的介紹:php
session.save_path
stringnode
session.save_path 定義了傳遞給存儲處理器的參數。若是選擇了默認的 files 文件處理器,則此值是建立文件的路徑。默認爲 /tmp。參見 session_save_path()。shell
此指令還有一個可選的 N 參數來決定會話文件分佈的目錄深度。例如,設定爲 '5;/tmp' 將使建立的會話文件和路徑相似於 /tmp/4/b/1/e/3/sess_4b1e384ad74619bd212e236e52a5a174If。要使用 N 參數,必須在使用前先建立好這些目錄。在 ext/session 目錄下有個小的 shell 腳本名叫 mod_files.sh,windows 版本是 mod_files.bat 能夠用來作這件事。此外注意若是使用了 N 參數而且大於 0,那麼將不會執行自動垃圾回收,更多信息見 php.ini。另外若是用了 N 參數,要確保將 session.save_path 的值用雙引號 "quotes" 括起來,由於分隔符分號( ;)在 php.ini 中也是註釋符號。windows
文件儲存模塊默認使用 mode 600 建立文件。經過 修改可選參數 MODE 來改變這種默認行爲: N;MODE;/path ,其中 MODE 是 mode 的八進制表示。 MODE 設置不影響進程的掩碼(umask)。服務器
Warningsession
若是將此設定爲一個全局可讀的目錄,例如 /tmp(默認值),服務器上的其餘用戶有可能經過該目錄的文件列表破解會話。memcached
Caution函數
使用以上描述的可選目錄層級參數 N 時請注意,對於絕大多數站點,大於1或者2的值會不太合適——由於這須要建立大量的目錄:例如,值設置爲 3 須要在文件系統上建立 64^3 個目錄,將浪費不少空間和 inode。code
僅僅在絕對確定站點足夠大時,才能夠設置 N 大於2。進程
Note: 在 PHP 4.3.6 以前,Windows 用戶必須修改此選項以使用 PHP 的會話函數。必須指定一個合法路徑,例如:c:/temp。
關於session的回收:
session.gc_probability = 1 : 每一次的請求就會有1%的機率的回收。
1.session能夠放入到memcached中
2.使用分級目錄,如上,可是分級目錄的話,不會進行自動的session過時回收,要手動進行
3.使用自動清理
好比
find /tmp/session -amin +180 -exec rm -rf {} \;