2014-01-30 92 views
2

當使用「session.save_handler = files」時,php在「session.save_path」目錄中可以處理的文件的最大數量是多少?「session.save_path」中的php會話文件的最大數量是多少

其實我們遇到了問題,當文件數量達到很高的水平時。 我不能告訴你我們的號碼,因爲我清理了te文件夾。

用戶嘗試登錄,但在應用程序中第一次觸發後立即被踢出。

+0

PHP對會話文件的數量沒有任何限制,但文件系統在限制之後性能開始出現不利影響 –

回答

2

據我所知,在PHP方面沒有特定的硬性限制。但是,大多數文件系統在具有巨大的目錄條目時性能很差。

你可能想在子目錄拆分會話文件,the manual explains

session.save_path string

session.save_path定義了傳遞給存儲處理器的參數 。如果您選擇默認文件 處理程序,則這是創建文件的路徑。另請參閱 session_save_path()。

有一個可選的N參數來此指令,確定目錄級別數會話文件將在各地傳播 例如,設定爲「5;/tmp目錄」,最終可能創建一個 會議文件和位置,如 /tmp/4/b/1/e/3/sess_4b1e384ad74619bd212e236e52a5a174如果

請注意,您首先需要自己創建目錄樹。編寫一個PHP腳本來實現這一點不應該很困難。

+0

感謝您的提示!假設你是對的,也許ext4文件系統在處理目錄中的文件數量時遇到了問題。 – Andi

+0

順便說一句,下次發生這種情況我建議你驗證會話文件的修改日期。由於配置錯誤的系統無法刪除舊數據,我曾經發現擁擠的會話目錄。我有幾個月沒有碰過的會話文件。 –

+0

嗨,你是對的,這是發生了什麼事。我通過調整 session.gc_probability, session.gc_divisor, session.gc_maxlifetime來修復它。參見: http://stackoverflow.com/questions/654310/cleanup-php-session-files – Andi

相關問題