• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • dedecms
  • ecshop
  • z-blog
  • UcHome
  • UCenter
  • drupal
  • WordPress
  • 帝国cms
  • phpcms
  • 动易cms
  • phpwind
  • discuz
  • 科汛cms
  • 风讯cms
  • 建站教程
  • 运营技巧
您的位置:首页 > CMS教程 >建站教程 > 关于laravel5.6与thinkphp3.2使用redis共享session的方案

关于laravel5.6与thinkphp3.2使用redis共享session的方案

作者:站长图库 字体:[增加 减小] 来源:互联网

站长图库向大家介绍了laravel5.6,thinkphp3.2,redis共享session等相关知识,希望对您有所帮助
laravel5.6与thinkphp3.2使用redis共享session的方案

在实际的项目中,历史项目使用thinkphp3.2开发,现在需要更新功能,更新功能的部分,拟使用laravel5.6进行开发。

问题描述

其中需要解决几个关键问题,其中之一便是用户认证的问题。即在系统1只登录后,系统2中自动识别其登录信息。即本质需要解决:laravel与thiniphp共享session的问题。


方案设计

session采用redis进行存储。thinkphp与laravel共离访问redis,根据相同的cookie,自动获取存储到redis中的认证用户信息。


解决方案

thinkphp开启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

laravel开启redis的方法相对来讲稍微复杂一些。具体信息,需要参考官方文档使用composer来安装Predis并进行相关配置。


laravel获取thinkphp的session

由于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值。

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 关于laravel5.6与thinkphp3.2使用redis共享session的方案

相关文章

  • Nginx下怎么部署php项目
  • 浅谈bootstrap table分页的实现两种方式
  • PHPCMS系统mysql优化教程
  • Phpcms V9后台登录地址修改方法
  • WordPress获取指定标签下的文章总数
  • AI教程几何图形小鸟LOGO视频教程
  • 小程序request请求怎么解决session失败问题
  • 两分钟带你了解在CSS中三种使图片居中的方法
  • WordPress多站点不支持timthumb.php解决方法
  • uniapp如何设置动态样式

文章分类

  • dedecms
  • ecshop
  • z-blog
  • UcHome
  • UCenter
  • drupal
  • WordPress
  • 帝国cms
  • phpcms
  • 动易cms
  • phpwind
  • discuz
  • 科汛cms
  • 风讯cms
  • 建站教程
  • 运营技巧

最近更新的内容

    • YII如何将对象转化为数组或直接输出为json格式
    • 怎么利用配置文件来管理多个 Node.js 进程
    • 详解PHP中的addcslashes()函数
    • 超酷的CSS3 loading预加载动画特效
    • 如何使用PHP原生来导出Excel和CSV文件
    • PhotoShop绘制反光水晶玻璃球按钮教程
    • WordPress 5.0 如何换回原有”Classic Editor”编辑器?
    • 发外链的pr比较高的论坛,不过要手工
    • Photoshop制作金属质感的艺术字教程
    • 精收录和精内容对于网站发展更加重要

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有