Windows-Server-2008
PHP 從 5.2 升級到 5.3,不再儲存會話
後台連結: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