修改php.ini文件中的gc_maxlifetime变量就可以延长session的过期时间了:(例如,我们把过期时间修改为86400秒)
session.gc_maxlifetime = 86400 然后,重启你的web服务(一般是apache)就可以了。
Cookie/Session机制详解: http://www.open-open.com/lib/view/open1405483246415.html
浅谈php处理session http://blog.csdn.net/james521314/article/details/8832487
浅析http协议、cookies和session机制、浏览器缓存: http://blog.csdn.net/my_yang/article/details/7819225
cookie 和session 的区别: http://www.cnblogs.com/shiyangxt/archive/2008/10/07/1305506.html
http://kingalone.iteye.com/blog/1768361
输出本页面所有的Cookie: <script>document.write(document.cookie);</script>
(1) session.save_handler = ”files” 默认以文件方式存取session数据,如果想要使用自定义的处理器来存取session数据,比如数据库,用”user”。 (2) session.use_cookies = 1 前面说到sessionID用cookies来实现,这里就是,1表示用cookies (3) session.use_trans_sid = 0 上面是用cookies来实现sessionID,这里值若是1则使用url回写方式,级别比session.use_cookies高 (4) session.use_only_cookies = 0 值为1则sessionID只可以用cookies实现,级别比前两个高 (5) session.cache_expire =180 session 缓存过期的秒数 (6) session.gc_maxlifetime = 1440 设定保存的session文件生存期,超过此参数设定秒数后,保存的数据将被视为’垃圾’并由垃圾回收程序清理。判断标准是最后访问数据的时间(对于FAT文件系统是最后刷新数据的时间)。如果多个脚本共享同一个session.save_path目录但session.gc_maxlifetime不同,将以所有session.gc_maxlifetime指令中的最小值为准。
浏览器关掉cookies,session是否可以正常运行?
前面提及sessionID的时候有两种方式。
(1) cookies 方式,在session.use_trans_sid=0 and session.use_cookies = 1的情况下使用。这种方法是每次浏览器端点每个请求,都把sessionID发送到服务器。
(2) url 回写,session.use_only_cookies = 0 and session.use_trans_sid=1的情况下,服务器会忽略session.use_trans_sid,在浏览器发hhtp请求后,服务器 会在返回页面内容中每个连接后面加上PHPSESSID=05dbfffd3453b7be02898fdca4fcd82b (在php.ini没改 session.name,默认是PHPSESSID),这样就算客户端的浏览器禁止了cookies,一样能实现session功能。
<?php echo 'Welcome to page #1<br/>'; session_start(); $_SESSION['favcolor'] = 'green'; $_SESSION['animal'] = 'cat'; $_SESSION['time'] = time(); // Works if session cookie was accepted echo '<br /><a href="2.php">page 1 (这个href中没SID参数)</a><br/>'; // Or maybe pass along the session id, if needed echo '<br /><a href="2.php?' . SID . '">page 2 (这个href中有SID参数)</a><br/>'; ?>
session_start(); $_SESSION['favcolor'] = 'green'; $_SESSION['animal'] = 'cat'; $_SESSION['time'] = time(); setcookie("cookie1","www.phpben.com",time()+3600*10); setcookie("cookie2","www.phpben.com",time()+3600*10);