站長資訊網
        最全最豐富的資訊網站

        php session 不起作用怎么辦

        php session不起作用的解決辦法:首先在頁面的開始處調用“session_save_path()”函數;然后把保存session的目錄指向一個專用的目錄即可。

        php session 不起作用怎么辦

        推薦:《PHP視頻教程》

        php Session失效的原因

        最近公司的項目出現了一個Session失效的問題,程序運行之后,session不到幾分鐘就失效了。后來在網上看了很久,了解了它的機理:Session在lunix里面是存儲在公共的路徑里面,這就會導致一個問題,如果程序里面有很多的Session應用,就會相互的影響。

        后來我嘗試修改session.gc_maxlifetime 但是我發現這個參數基本不起作用。在默認情況下,PHP 中的session信息會以文本文件的形式,被保存在系統的臨時文件目錄中。這個路徑由配置參數session.save_path指定。在Linux下,這一路徑通常為tmp,在 Windows下通常為C:WindowsTemp。當服務器上有多個PHP應用時,它們會把自己的session文件都保存在同一個目錄中(因為它們使用同一個session.save_path參數)。同樣地,這些PHP應用也會按一定機率啟動GC,掃描所有的session文件。

          問題在于,GC在工作時,并不會區分不同站點的session。舉例言之,站點A的gc_maxlifetime設置為2小時,站點B的 gc_maxlifetime設置為默認的24分鐘。當站點B的GC啟動時,它會掃描公用的臨時文件目錄,把所有超過24分鐘的session文件全部刪除掉,而不管它們來自于站點A或B。這樣,站點A的gc_maxlifetime設置就形同虛設了。

        所以具體操作就是每個項目擁有自己的session路徑,找到問題所在,解決起來就很簡單了。在頁面的開始處調用session_save_path()函數,它能夠修改session.save_path參數,把保存session的目錄指向一個專用的目錄,例如tmpmyapp。這樣,gc_maxlifetime參數就工作正常了。

        具體代碼:

        session_start(); ini_set('session.save_path','/tmp/'); //6個鐘頭 ini_set('session.gc_maxlifetime',21600); //保存一天 $lifeTime = 24 * 3600; setcookie(session_name(), session_id(), time() + $lifeTime, "/");

        贊(0)
        分享到: 更多 (0)
        網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
        主站蜘蛛池模板: 国内精品久久久久久99| 日韩精品在线视频| 久久亚洲国产精品一区二区| 亚洲国产精品无码久久九九| 91精品国产自产在线老师啪| 久久精品国产99久久久| 蜜桃麻豆www久久国产精品 | 国产成人精品久久二区二区| 无码人妻精品一区二区三区99仓本| 国产精品欧美一区二区三区| 久久国产精品久久久| 91精品国产综合久久婷婷| 欧美日韩人妻精品一区二区在线| 色哟哟国产精品免费观看| 久久精品国产99国产精品| 国产精品99精品视频网站| 亚洲国语精品自产拍在线观看| 2022国内精品免费福利视频| 国产麻豆一精品一AV一免费| 亚洲精品国产品国语在线| 国产亚洲美女精品久久久久狼 | 国产成人久久精品麻豆一区 | 91精品免费久久久久久久久| aaa级精品久久久国产片| 8AV国产精品爽爽ⅴa在线观看| 久久永久免费人妻精品下载| 亚洲国产精品一区二区三区久久| 久久久久久噜噜精品免费直播| 国内精品久久久久久久久电影网 | 免费精品一区二区三区第35| 丰满人妻熟妇乱又仑精品| 精品久久久久久无码专区| 精品国产精品国产偷麻豆| 嫖妓丰满肥熟妇在线精品| 久久精品天天中文字幕人妻| 精品三级AV无码一区| 精品国产精品国产偷麻豆| 精品国产a∨无码一区二区三区| 精品深夜AV无码一区二区| 国产精品毛片一区二区三区| 国产天天综合永久精品日|