wamp下php沒法保存SESSION問題總彙

因爲是在windows 下的iis進行php的環境,因此不少狀況下不能像lamp那麼簡單進行設置。因爲工做緣由我也遇到不少session沒法保存的狀況(在wamp下)。如下是相信信息的彙總,僅供參考學習。 php

1,php.ini設置問題,這類狀況下須要設置 apache

    session_auto_start = on //這是自動開啓session的 windows

    在php文檔中輸入 phpinfo 查看是否正確的開啓了session。 安全

2,保存session的文件夾有問題 session

    首先查看php.ini中的session_save_path 是否存在,而且沒有被註釋掉,若是存在的話 通常在widnows中默認的爲c:\windows\tmp 下,這目錄默認是不容許其餘用戶讀取的。 學習

    解決方案 spa

        1.設置 文件夾爲 everyone 可讀取 可寫入 ,這樣雖然能夠解決問題,可是卻產生了新的問題就是安全問題,由於是windows 下,能夠進行註冊表等其餘信息的跨目錄讀取。 繼承

        2.從新設置 session_save_path ,設置完成之後 重啓iis 看是否成功 若是不成功的話 請設置兩個,由於在php.ini中爲了兼容之前的版本是有兩個的 一個是被註釋掉的 一個是 4.0以上 一個是5.0以上的。設置完成後,設置被設置的目錄爲everyone 讀取 寫入,而後繼承,其餘的都不要勾取,這樣就保證了保存目錄的安全和系統數據的安全。 文檔

3.和程序代碼有關係。 get

    當看到設置的目錄中有session生成的時候,可是所有都是0kb的空文件,這時候須要進行檢查下代碼是否有問題。

    解決方案:

    1.若是開啓了session_auto的話 請關閉掉。而後在頁面中上方寫寫入 session_start

    2.若是第一種方案無效的話,建議在session_start前面加上'@'符號,寫入頁面和讀取頁面都要加的。

4.其餘問題,

    若是以上緣由還不能夠進行處理的話,請檢查php文檔是否爲當前加載的php文檔,wamp加載的php.ini在apache中,關於檢查當前php環境加載的php.ini的話 請關注後面的文章。

轉載請著名出處謝謝。。

相關文章
相關標籤/搜索