thinkphp做的两套程序的session是共享的,怎么解决

thinkphp做的两套程序的session是共享的,怎么解决,第1张

在thinkphp5.0以上版本中,支持指定 Session 驱动,也就是把session存到一个共用的redis数据库中。

配置文件如下:

'session' =>[

'prefix' =>'module',

'type' =>'redis',

'auto_start' =>true,

// redis主机

'host' =>'笑纯改碰判裤孝127.0.0.1',

// redis端口

'port' =>6379,

// 密码

'password' =>'',

]

表示使用redis作为session类型。

具体的可以参考thinkphp5的文档。

另外,负载均衡的session共享也可以采用这种方式

在网站根凯塌目录下面李租新建了两个文件test1.php和test2.php

访问test1.php

问题就出在这里,点开这个目录,发现这个地址下没有session这个文件夹,新建一个session文件夹

让我们再来访问下test1.php

这回获取到值了,点开session文件夹,发现里面多了个session文件

把session里面的文件删除,让我们再试下登录页面

验证码session获取哪孙兆到了

A文件:基于thinkphp,A文件代码里【没有】用到session

B文件:没有使用thinkphp,代码里【没有】用到session

C文件:没有使用thinkphp,代枣闭销码里【有】用到session

1、访问A文件,第一次访问很快,第二次第三次后面就很慢;等一段时间后,第一次访问又很快,第二次第三次后面就很慢。

2、直接访问B文件,每次都很快

3、直接访问C文件,每次都很快

4、先访问一次A文件,再访问B文件,每次都很【快】

5、先访问一次A文件,再访问C文件,每次都很【慢】

感觉类似访问A文件后session被锁住,之态源后访问C文件就很慢了,一段时间后session锁被释放,不知道thinkphp有做什么处理导致了这个问题,求解答

web服务器使凳游用apache

session的配置

session.save_handler "memcache"

session.save_path "tcp://127.0.0.1:11211"

把SESSION_AUTO_START设为false,或者把

ThinkPHP/Common/function.php 第1174 行if(C('SESSION_AUTO_START')) session_start()注释掉就没有问题了


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/8189044.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-14
下一篇 2023-04-14

发表评论

登录后才能评论

评论列表(0条)

保存