php 預設的 session timeout 為 14400 seconds (好像不會很順利的照時間不見) (session.gc_maxlifetime),
預設通常存放在 /tmp 或 /var/lib/php/session (session.save_path),會在底下看到很多 sess_XXXXX
如果session檔太多,可想而知
1。系統變慢
2。網站變慢
改善方法:
。縮短 timeout 時間 ? 不過可能要先依程式為考量
。使用排程刪除多久之前的session檔 (php.ini裡有範例 cd /path/to/sessions; find -cmin +24 | xargs rm)
。將session分別存放,php.ini 裡可以設定 session.save_path = “3;600;/var/lib/php/session”,3為3層目錄、600就是檔案屬性(不給的話預設還是600)、存放路徑
。存入資料庫
。使用memcache 等 ,(session.save_handler = memcache)
。寫 cookie (加密)
http://blog.longwin.com.tw/2008/10/php-too-more-session-file-set-2008/
留言