设为首页收藏本站

自学it网-公益PHP培训!

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1070|回复: 7

[未解决] 用tp3.2框架时,发现在一个控制器中session不能被正常使用 [复制链接]

Rank: 3Rank: 3

发表于 2017-4-12 20:10:53 |显示全部楼层
10金钱
用tp3.2框架时,发现在一个控制器中session不能被正常使用
比如:
PHP code?
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
namespace Home\Controller;
use Think\Controller;
class BaseController extend Controller {
        function A() {
             session('A',10);
             var_dump(session());
        }

       function B() {
           var_dump(session());
       }
}





调用方法A时,可以打印出一个数组:array(["A"]=>10)
跟着调用方法B 时却得到一个空数组
这是什么情况????

这种情况在不同控制器之间也存在这种问题(即不同控制器之间存在session丢失情况)
使用tp时,我的配置文件中已经开了session。



请大家帮忙看一下,谢谢!!!!              

使用道具 举报

Rank: 3Rank: 3

发表于 2017-4-12 20:39:15 |显示全部楼层
我是用tp来写接口的,前后端用ajax进行交互,上面的问题是出现在不同接口之间session不能被正常使用

使用道具 举报

金牌会员

PHP实习程序员

Rank: 6Rank: 6

发表于 2017-4-13 17:21:51 |显示全部楼层
测试一下,并没有问题
  1. 调用
  2. $this->A();
  3. $this->B();

  4. //结果
  5. array (size=1)
  6.   'A' => int 10

  7. array (size=1)
  8.   'A' => int 10
复制代码

使用道具 举报

Rank: 3Rank: 3

发表于 2017-4-13 19:17:33 |显示全部楼层
王者五 发表于 2017-4-13 17:21
测试一下,并没有问题

:dizzy::dizzy::dizzy:

使用道具 举报

Rank: 3Rank: 3

发表于 2017-4-13 19:17:55 |显示全部楼层
王者五 发表于 2017-4-13 17:21
测试一下,并没有问题

:dizzy::dizzy::dizzy:

使用道具 举报

Rank: 1

发表于 2017-6-20 15:43:41 |显示全部楼层
不懂不问是笑话 发表于 2017-4-12 20:39
我是用tp来写接口的,前后端用ajax进行交互,上面的问题是出现在不同接口之间session不能被正常使用
...

(1)使用session的情况一般是做网页的,因为网页浏览器请求时会自带sessionID,根据sessionID才能找到相对应的session值,这个你可以先了解下session原理。
(2)而你的问题是在接口,做接口不会使用session进行保存用户的信息或者用于其他,如果你要进行保存一些用户的信息可以使用缓存如redis,也就是说你再浏览器访问你的接口时就不会出现这样的问题,但是当手机访问过来时就会出现这样的问题

使用道具 举报

Rank: 3Rank: 3

发表于 2017-9-9 20:24:12 |显示全部楼层
调用接口的前端页面需要与后端在同一个域名下才能共享session。

使用道具 举报

Rank: 1

发表于 2017-10-11 15:48:29 |显示全部楼层
欢迎采用我家的虚拟主机哦
www.59php.com/host.html

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

Archiver|自学it网 ( 京ICP备12009156号 )  

GMT+8, 2017-10-22 21:24 , Processed in 0.033761 second(s), 5 queries , Memcache On.

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部