網站一直運行很好,今天突然后臺無法登錄,提示session無法保存,在網上找了很多方法一直沒有圓滿解決這個問題,測試了很久,最終找到了解決方法。
問題:Warning:Unknown:Failedtowritesessiondata(files).Pleaseverifythatthecurrentsettingofsession.save
_pathiscorrect()inUnknownonline0
一、本地服務器:
1、PHP配置文件中session.save_path負責session文件的存放位置。
2、如果沒有配置則不會生成session文件,如果配置的目錄session.save_path="XXX"不存在,則會報錯:
3、如果需要生成session文件,需要檢查配置文件.如果沒有配置目錄,則請將php.ini中的“;session.save_path="/tmp"”改為“session.save_path="XXX"”,并切記在E盤根目錄下新建,名為XXX的文件夾。
4、設置完成后需要重啟服務,然后設置生效。
二、其它遠程服務器
1、不方便更改php配置文件,可以再程序中重置session目錄:
定義網站根目錄,一定要是根目錄(網上也有很多解決方法,就是沒有設置在根目,導致問題一直沒法解決)
define('ROOT_PATH',str_replace("//",'/',substr(dirname(__FILE__),0,26)));
$savePath=ROOT_PATH."/tmp/";
2、判斷文件目錄是否存在,如果不存在,就創建一個文件,并設置權限為0777(這段代碼是我自己加的,網上很多解決方法都沒有提到這點,直接跳過這一步,直接設置保存路徑,文件路徑都不存在,怎么保存得了呢?)
if(!file_exists($savePath)){
mkdir($savePath,0777,true);
}
3、設置保存session路徑
session_save_path($savePath);