我的会话检查有问题。
我第一次登录时调用我在其中调用session_start()的php登录脚本,如果用户名和密码正确则检查数据库,在这种情况下存储$ _SESSION [“username”]和$ _SESSION [“id”]变量和retireve $ id变量,即session_id();
然后我在我的应用程序的主页上(如果没有会话打开我想要保护),所以在这个家庭活动的onRestart方法中我调用checkLogin()函数运行CheckLogin php脚本,我在其中调用session_start( ),$ id = session_id()并检查是否(isset($ _ SESSION [“username”])和isset($ _ SESSION [“id”])和$ _SESSION [“id”] == $ id)。在这种情况下,我检索回声'已记录'其他'错误'左
我在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);
请有人解释一下为什么即使在php.ini maxlifetime设置为1440时,$ _SESSION变量仍然存在8小时不活动吗?
提前谢谢。