2015-06-17 45 views
2

我需要強制會話垃圾收集在PHP中觸發,我使用的是5.3.3版本。我看到在PHP 5.4,你可以撥打:如何在PHP <5.4中觸發會話垃圾回收?

SessionHandler :: GC()

什麼是讓給我使用的PHP版本,相同的結果最好的方法是什麼?

+0

'session_set_save_handler' http://php.net/manual/en/function.session-set-save-handler.php – cmorrissey

+0

好奇,爲什麼你會需要這個(它從來沒有來對我來說) –

+0

調查當垃圾收集用戶的會話時發生的問題。他們有一個「始終保持登錄狀態」的標誌集,並且存儲在會話中的一些必要的值沒有得到保留(據說......我還沒有複製它)。我需要能夠強制GC測試。 –

回答

3

對於較舊的PHP的,你必須與GC概率設置撥弄:

session.gc_probability 1 
session.gc_divisor 1 

給GC的100%的機率正在對每一個請求運行。當然,這將是一個主要的性能問題,所以你可能希望把這些覆蓋到apache的條件塊中,並允許它們僅被設置爲特定的IP或用戶。

文檔:http://php.net/manual/en/session.configuration.php#ini.session.gc-probability