我的会话检查有问题 .
我第一次登录时调用我在其中调用session_start()的php登录脚本,如果用户名和密码正确则检查数据库,在这种情况下存储$ _SESSION ["username"]和$ _SESSION ["id"]变量并退回$ $ id变量,即session_id();

然后我'm on the homepage of my app (that i want to protect if no session is opened), so in onRestart method of this home activity i call the checkLogin() function that runs the CheckLogin php script in which i call session_start(), $id=session_id() and check if(isset($_SESSION[ 474298 ]) and isset($_SESSION[ 474299 ]) and $_SESSION[ 474300 ]==$id). In this case i retrieve echo '已登录' else '错误'

我在php.ini中看到了这一点(使用mysite / phpinfo.php)session.gc_maxlifetime设置为1440秒,但我的CheckLogin脚本说即使8小时过后我仍然连接 . 当我第一次登录时,我将session_id()保存在我的sharedPreferences中,然后我在checklogin请求中将此id作为Cookie参数以这种方式传递

HttpURLConnection conn = (HttpURLConnection) url.openConnection();
        conn.setReadTimeout(15000);
        conn.setConnectTimeout(15000);
        conn.setUseCaches(true);
        conn.setRequestMethod("POST");
        conn.setDoInput(true);
        conn.setDoOutput(true);
        conn.setRequestProperty("Cookie","PHPSESSID="+id);

请任何人解释我为什么$ _SESSION变量仍然存在8小时不活动,即使在php.ini maxlifetime设置为1440?
先感谢您 .