会话是在后端创建和打印的,但不能在前端工作 [英] Session is create and print in backend but not work in frontend

查看:69
本文介绍了会话是在后端创建和打印的,但不能在前端工作的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我面临一些奇怪的问题.

I am facing some strange issue.

此问题发生在服务器上.自最近5到6天以来,我一直面临着这个问题.直到去年才为我服务.

This problem happens on server. I am facing this problem since last 5-6 days. It was working for me until last 1 year.

当我调用登录api时,如果用户凭据正确,那么我将创建一个会话.

When I call a login api, if user credential is right then I create a session.

这是我的代码:

if ($user){
    if ($user['is_active'] == 1){
        global $user_data;
        $user_data = $user;
        $response["error"] = false;
        $_SESSION['user_data'] = $user; // -- session is create
        print_r($_SESSION); // session is print.

        $_SESSION['is_login'] = 'No';
        unset($_SESSION['sessionX']);
        $response['user_id'] = $user['user_id'];
        $response['name'] = $user['name'];
        $response['email'] = $user['email'];
        $response['apiKey'] = $user['api_key'];
        $response['createdAt'] = $user['created_date'];

    } else {
        $response['error'] = true;
        $response['message'] = 'Your Account is Not Active';
    }
} else {
// user credentials are wrong
    $response['error'] = true;
    $response['message'] = 'Login failed. Incorrect credentials';
}

这部分的print_r:

print_r of this portion:

Array
(
    [slim.flash] => Array
        (
        )

    [db_name] => arcade_intecigar
    [user_data] => Array
        (
            [user_id] => 1
            [name] => zzz
            [email] => zzz@abc.com
            [api_key] => 3fef39209b3d03039cdb81d39566eb66
            [lang_id] => en_US
            [created_date] => 0000-00-00 00:00:00
            [profile_pic] => ""
            [img] => 1461269872mk-ok.png
            [subscription_id] => 20
            [is_active] => 1
            [role_id] => 1
            [delete_permission] => 1
            [phone_number] => +14507013
            [country_code] => 1
            [total_usage_funds] => 0.0024999999441206
            [total_available_funds] => 0.99750000238419
            [paid] => trial
            [currency] => USD
        )

)

登录后,我将我的应用重定向到仪表板页面,并检查会话是否可用,但是奇怪的是会话不可用.并且总是将我重定向到登录页面.

After login, I am redirecting my app to dashboard page and check that if session is available or not, but it is strange that session is not available. And it is always redirecting me to the login page.

看下面的代码.

print_r($_SESSION); // it is display a blank
if (!isset($_SESSION['is_login']) && !isset($_SESSION['is_lock'])) {
    echo "<script>window.location='" . SITE_URL . "login.php?redirect=" . $_SERVER['REQUEST_URI'] . "';</script>";
}
if (isset($_SESSION['is_login']) && $_SESSION['is_login'] == 'NO' || $_SESSION['is_login']== 'No') {
    echo "<script>window.location='" . SITE_URL . "login.php?redirect=" . $_SERVER['REQUEST_URI'] . "';</script>";
}   

这部分的print_r:

print_r of this portion:

Array ( [db_name] => arcade_intecigar ) 

推荐答案

之所以会发生此问题,是因为据我所知,在该次会话中在php中创建会话时,在服务器上没有inode内存可用于更多会话创建.文件也是创建的,因此没有可用的内存,这就是为什么不创建会话的原因.

This problem is happen because , on server there is no inode memory is avaiable for more session create , as per my knowledge when session is create in php that time session file is also create , so there is no memory is available that's why session is not create .

使用df -i命令了解服务器上的inode内存.

Use df -i command for know the inode memory on server.

检查此链接以获取更多描述: https://www.ivankuznetsov.com/2010/02/no-space-left-on-device-running-out-of-inodes.html

Check this link for more description: https://www.ivankuznetsov.com/2010/02/no-space-left-on-device-running-out-of-inodes.html

这篇关于会话是在后端创建和打印的,但不能在前端工作的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆