这两天一直在鼓捣服务器,配置环境,在搭建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