2013-01-22 60 views
2

當我推送到生產服務器時,我的CodeIgnighter網站會丟失會話數據。在生產服務器上丟失數據的PHP會話 - CodeIgniter

我們有一個CodeIgnighter網站,它使用會話存儲與預訂相關的數據,同時用戶瀏覽網站。我可以非常高興地離開頁面15分鐘以上,返回並且一切正常。

但是,當將代碼直接推送到生產服務器時,會話似乎在5分鐘後超時/丟失數據。

我已經在CodeIgnighter配置文件中設置了默認會話超時,但我想知道是否有可覆蓋我的CodeIgnighter設置的server/php/apache級別?不幸的是,我對會話處理的知識不是很好,Google迄今爲止還沒有幫助!

我附加了phpinfo()中的會話信息;來自工作場所和破碎的生產現場。

任何幫助將不勝感激!

工作發展的網站:

 

    Directive Local Value Master Value 
    session.auto_start Off Off 
    session.bug_compat_42 On On 
    session.bug_compat_warn On On 
    session.cache_expire 180 180 
    session.cache_limiter nocache nocache 
    session.cookie_domain no value no value 
    session.cookie_httponly Off Off 
    session.cookie_lifetime 0 0 
    session.cookie_path//
    session.cookie_secure Off Off 
    session.entropy_file no value no value 
    session.entropy_length 0 0 
    session.gc_divisor 100 100 
    session.gc_maxlifetime 1440 1440 
    session.gc_probability 1 1 
    session.hash_bits_per_character 4 4 
    session.hash_function 0 0 
    session.name PHPSESSID PHPSESSID 
    session.referer_check no value no value 
    session.save_handler files files 
    session.save_path /tmp /tmp 
    session.serialize_handler php php 
    session.use_cookies On On 
    session.use_only_cookies On On 
    session.use_trans_sid 0 0 

破碎生產現場:

 

    Directive Local Value Master Value 
    session.auto_start Off Off 
    session.bug_compat_42 Off Off 
    session.bug_compat_warn Off Off 
    session.cache_expire 180 180 
    session.cache_limiter nocache nocache 
    session.cookie_domain no value no value 
    session.cookie_httponly Off Off 
    session.cookie_lifetime 0 0 
    session.cookie_path//
    session.cookie_secure Off Off 
    session.entropy_file no value no value 
    session.entropy_length 0 0 
    session.gc_divisor 1000 1000 
    session.gc_maxlifetime 1440 1440 
    session.gc_probability 1 1 
    session.hash_bits_per_character 5 5 
    session.hash_function 0 0 
    session.name PHPSESSID PHPSESSID 
    session.referer_check no value no value 
    session.save_handler files files 
    session.save_path no value no value 
    session.serialize_handler php php 
    session.use_cookies On On 
    session.use_only_cookies On On 
    session.use_trans_sid 0 0 

+0

我相信你會從這個問題的接受答案找到一個合適的解決方案:http://stackoverflow.com/questions/1516266/how-long-will-my-session-last/1516284 – monkeymatrix

+0

謝謝,我是使用CodeIgniter,所以它應該在它自己的管理會話的,但我深入瞭解這些職位。我認爲session.save_path沒有在生產服務器上設置的事實可能會導致問題? – Joel

+0

CI使用自己的會話,你應該檢查那裏發生了什麼......我懷疑它可能是Apache相關的東西。 – Shomz

回答

0

其實我建議一個完全不同的解決方案,並告訴您使用的數據庫的處理程序爲您的會議。我更喜歡使用數據庫,因爲您可以有多個服務器,並且它是會話安全性的最佳選擇。