Windows-Server-2008

PHP 從 5.2 升級到 5.3,不再儲存會話

  • September 17, 2012

後台連結:https ://stackoverflow.com/questions/7014945/php-upgrade-5-2-to-5-3-session-issue

我已將我的 2008 標準伺服器上的 PHP 從 PHP 5.2 升級到 PHP 5.3。升級後,會話不再正常工作。

我已經從我的 PHP.ini 文件中複製了適用的設置,並根據伺服器或 PHP 的建議配置了新設置。

PHP 可以正確執行,但是會話數據不會被保存。

我將會話數據儲存在 c:\temp 中。對於創建的每個會話,我可以在此文件夾中看到會話文件。但是,沒有資訊被寫入會話文件。權限方面,IUSR 和每個人都擁有對該文件夾的寫入權限。

如果我降級到 PHP 5.2,會話將正確保存並且站點正常執行。

我已按照建議確保我的程式碼得到優化。正確關閉會話文件並強制重置會話。

我難住了。

會議
--



啟用會話支持 
註冊的保存處理程序文件使用者 sqlite 
註冊的序列化程序處理程序 php php_binary wddx 
 


指令本地值主值
session.auto_startOffOff
session.bug_compat_42OnOn
session.bug_compat_warnOnOn
session.cache_expire180180
session.cache_limiternocachenocache
session.cookie_domain*無值**無值* 
session.cookie_httponlyOffOff
session.cookie_lifetime00
session.cookie_path//
session.cookie_secureOffOff
session.entropy_file*無值**無值* 
session.entropy_length00
session.gc_divisor100100
session.gc_maxlifetime14401440
session.gc_probability11
session.hash_bits_per_character44
session.hash_function00
session.namePHPSESSID53PHPSESSID53
session.referer_check*無值**無值* 
session.save_handlerfiles 文件
session.save_path/temp/temp
session.serialize_handlerphpphp
session.use_cookiesOnOn
session.use_only_cookiesOnOn
session.use_trans_sid00
 

問題與最後一個會話名稱“(@#!_D@R &$%(){*@)_D_296”有關,它以某種方式使整個瀏覽器會話無效,從會話中刪除所有數據。

從會話名稱中刪除“( @#!_D@R &$%(){*@)_D_296”後,登錄會話再次開始工作。

詳情見https://stackoverflow.com/questions/7014945/php-upgrade-5-2-to-5-3-session-issue

引用自:https://serverfault.com/questions/299817