這兩天一直在鼓搗服務器,配置環境,在搭建laravel的過程之中,發現了laravel中的session的一些問題,這裏總結一下:php
(1):我在服務器上搭建了多個sever,爲了測試學習,分別使用不一樣的php框架,laravel,tp,原生,一開始發現session跨域的問題,就修改了php.ini中的session_cookie_domain參數,mysql
設置爲session_cookie_domain= .xxxx.top (注:php.ini中的cookie.path默認爲 /,因此不須要進行修改 )laravel
在設置成功之後,重啓php-fpm,發現除了laravel框架不能讀取出其餘server中設置的session之外,其餘server能夠互相查看session(也都讀取不了laravel中設置的session)sql
後來查了一下,發現是這樣的:laravel框架對session作了處理,沒有使用php中的session處理方式,而是使用了本身獨特的方式(session的存儲位置也發生了變化),因此纔有上述的問題數據庫
若是想在laravel中查看其餘server添加的session,能夠使用php原生的session_start(),$_SESSION等函數進行處理。其餘server若是想要查看laravel中使用框架自定義的方式設置的 session,就比較的麻煩,網上有人說能夠安裝插件來實現,這裏以爲這種方式並很差,就沒有作實驗跨域
(2):如何解決多個項目的session跨域問題:php框架
1):在沒有使用laravel相關框架的時候,只須要配置php.ini中相關的參數就能夠。在使用多種框架的使用,特別是使用laravel框架的使用,能夠統一使用php原生的session處理方式(這種方式的確能夠解決上述問題,可是至關於浪費了框架的封裝,並不推薦)服務器
2):我認爲最好的解決辦法是,使用數據庫(mysql,nosql)來存儲session,目前主流的php框架都是支持session存儲在數據庫中的相關操做的,這樣在操做上也能加快訪問的速度cookie