PHP会话变量过期

PHP会话变量过期,php,wordpress,session,Php,Wordpress,Session,大家好,我在php wordpress站点中声明了一个变量会话,但在5分钟的无导航后,它丢失了值,但会话仍然处于活动状态,php.ini中的session.gc_maxlife设置为默认值1440秒(24分钟)。这是我的密码: public function __construct() { echo '<script>console.log("0: '.session_status().'")</script>'; if ( ( $_SESSION

大家好,我在php wordpress站点中声明了一个变量会话,但在5分钟的无导航后,它丢失了值,但会话仍然处于活动状态,php.ini中的session.gc_maxlife设置为默认值1440秒(24分钟)。这是我的密码:

public function __construct() { 

    echo '<script>console.log("0: '.session_status().'")</script>'; 

    if ( ( $_SESSION['logged'] != null ) && (isset($_SESSION['logged'])) )
    {

        self::$profile = $_SESSION['logged'];   
        self::$favoriteTeam = self::$profile->favorite_team;

        echo '<script>console.log("1: '.self::$profile->fb_user_id.'")</script>';   
        echo '<script>console.log("2: '.self::$profile->favorite_team.'")</script>';    
        echo '<script>console.log("3: '.self::$favoriteTeam.'")</script>';      

    } 

}


public function(){ $_SESSION['logged'] = self::$profile = $user;    }
public function\uuuu construct(){
echo'console.log(“0:'.session_status()”);
if($_会话['logged']!=null)和($_会话['logged']))
{
self::$profile=$\u会话['logged'];
self::$favoriteTeam=self:$profile->favoriteTeam;
echo'console.log(“1:”.self::$profile->fb_user_id.”);
echo'console.log(“2:”.self::$profile->favorite_team.”);
echo“console.log”(“3:”.self::$favoriteTeam.”);
} 
}
公共函数(){$\u会话['logged']=self::$profile=$user;}
更新:我忘了提到这是一个wordpress项目,是的,如果我尝试调试,它的内容会保存到会话变量中:

echo '<script>console.log("1: '. $_SESSION['logged'].'")</script>'; 
echo'console.log(“1:'.$”会话['logged'].');

在使用该值之前,是否先启动会话

public function __construct() { 

    session_start();

    echo '<script>console.log("0: '.session_status().'")</script>'; 

    if ( ( $_SESSION['logged'] != null ) && (isset($_SESSION['logged'])) )
    {

        self::$profile = $_SESSION['logged'];   
        self::$favoriteTeam = self::$profile->favorite_team;

        echo '<script>console.log("1: '.self::$profile->fb_user_id.'")</script>';   
        echo '<script>console.log("2: '.self::$profile->favorite_team.'")</script>';    
        echo '<script>console.log("3: '.self::$favoriteTeam.'")</script>';      
    } 
}

public function()
{ 
        $_SESSION['logged'] = self::$profile = $user;    
}
public function\uuuu construct(){
会话_start();
echo'console.log(“0:'.session_status()”);
if($_会话['logged']!=null)和($_会话['logged']))
{
self::$profile=$\u会话['logged'];
self::$favoriteTeam=self:$profile->favoriteTeam;
echo'console.log(“1:”.self::$profile->fb_user_id.”);
echo'console.log(“2:”.self::$profile->favorite_team.”);
echo“console.log”(“3:”.self::$favoriteTeam.”);
} 
}
公共职能()
{ 
$\会话['logged']=self::$profile=$user;
}

这可能是因为cookie生存期设置为低。检查

也不要忘记
会话\u start()

尝试在
()
中不强制将设置为$user:


这通常是C++或C语言:$ $会话('Logs')=!无效的在PHP中,这通常是isset($_SESSION['logged'])好的,我用这种方式尝试了一个简单的代码,会话变量会持续5分钟以上,因此我将寻找另一个解决方案。。。只需保存一个bool值并从db加载detas。谢谢ALLI,我现在将尝试,会话\u开始它是在索引顶部声明的,我是否应该按照您的建议重新声明?cookie lifetime它设置为0。sesion_开始在索引顶部贴花,够了吗?那就可以了。您确定它已存储在会话中吗?是否调用了
()
函数?是的,请再次查看我用我忘记提及的新信息编辑的主要答案。谢谢我已经更新了我的答案,如果有一个小代码尝试添加到
()
函数中。是否每次调用该函数时都会重置配置文件?
if (isset($user) || !isset(self::$profile)) {
  $_SESSION['logged'] = self::$profile = $user;  
}