這篇文章主要介紹laravel5.6與thinkphp3.2使用redis共享session的示例分析,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
成都創新互聯2013年至今,是專業互聯網技術服務公司,擁有項目成都網站建設、成都做網站網站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元青山湖做網站,已為上家服務,為青山湖各地企業和個人服務,聯系電話:18982081108
在實際的項目中,歷史項目使用thinkphp3.2開發,現在需要更新功能,更新功能的部分,擬使用laravel5.6進行開發。
其中需要解決幾個關鍵問題,其中之一便是用戶認證的問題。即在系統1只登錄后,系統2中自動識別其登錄信息。即本質需要解決:laravel與thiniphp共享session的問題。
session采用redis進行存儲。thinkphp與laravel共離訪問redis,根據相同的cookie,自動獲取存儲到redis中的認證用戶信息。
thinkphp3.2并不沒有集成session的redis支持,此時,我們使用php中的設置來開啟。在index.php中,我們加入以下兩行語句:
ini_set("session.save_handler", "redis"); ini_set("session.save_path", "tcp://redis:6379");
也可以將其加入到config.php配置文件中
此時, thinkphp在進行session存儲時,將以PHPREDIS_SESSION做為前綴進行存儲。
laravel開啟redis的方法相對來講稍微復雜一些。具體信息,需要參考官方文檔使用composer來安裝Predis并進行相關配置。
由于laravel完全棄用了PHP的內置session。所以我們是沒有辦法能過$_SESSION來獲取到任何信息的(你甚至會得一個變量未定義的錯誤)。由于laravel的cookie進行了加密處理。所以,我們也不能用laravel自帶的cookie來獲取cookie信息。
具體實現的思路為:
1 獲取原生cookie。
2 接拼PHPREDIS_SESSION組成key
3 使用redis直接獲取key中存的值
... use Illuminate\Support\Facades\Redis; ... $cookie = $_COOKIE['PHPSESSID']; $session = Redis::get('PHPREDIS_SESSION:' . $cookie);
此$session即為thinkphp系統中的session值。
以上是“laravel5.6與thinkphp3.2使用redis共享session的示例分析”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注創新互聯行業資訊頻道!
文章名稱:laravel5.6與thinkphp3.2使用redis共享session的示例分析
分享鏈接:http://m.kartarina.com/article20/pippco.html
成都網站建設公司_創新互聯,為您提供網站改版、App開發、網站策劃、網站建設、企業建站、
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯