您的位置:首页 > 编程语言 > PHP开发

php中有关,session值跨页面丢失的问题

2017-08-17 00:00 543 查看
背景:Thinkphp3.2框架,login控制器,能获取session值,然而,login成功后,跳转后台首页,session值消失,代码如下

//公共函数common定义的is_login方法
function is_login(){
$user = session('admin_auth');
if (empty($user)) {
return 0;
} else {
return session('admin_auth_sign') == data_auth_sign($user) ? $user['uid'] : 0;
}
}

调用

// 获取当前用户ID
if(defined('UID')) {
return ;
}
define('UID',is_login());
if( !UID ){// 还没登录 跳转到登录页面
$this->redirect('Public/login');
}
就这里一直报错,UID为空

前面的代码就不写出来了,主要是这个is_login获取不到session,首先
断点调试,找到错误,一步步来,千万别急。
接着谷歌了好多,百度上没有,首先打印phpinfo()。查看,session.auto_start是不是开启了,果然,我这里没开启,当然获取不到,我的是Ubuntu环境,登录服务器,修改php.ini

vi /etc/php5/apache2/php.ini
```   修改为1.然后:wq退出保存,重启服务

/etc/init.d/apache2 restart

第二种:session文件没有权限,赋予chomd -R 777
第三种:还是配置,跟代码没关系,
我就第一种就完全ok。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息