修改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.youkuaiyun.com/james521314/article/details/8832487
浅析http协议、cookies和session机制、浏览器缓存: http://blog.youkuaiyun.com/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);