关于SESSION有效时间的问题

#1 powerleader

以前用的框架都有个session的封装类, 进行session操作比较方便, SP没有这个类了, 现在要把用户登录后记录一个数组信息到session里, $_SESSION['user'] = array(...), 这是怎么设置这个session的过期时间呢? 另外换用setcookie('user', array(...), time()+3600, '/')时, 设置后dump一下$_COOKIE数组发现并没有写进里面?

2010-03-04 16:55:17

#2 jake

刚刚看了php.net的东西,设置SESSION时间可以用 ini_set("session.gc_maxlifetime", "18000");
不过这里要注意,很多虚拟主机都是禁止ini_set函数的。

另外,关于SESSION的函数,PHP本身就有,操作也很方便,没必要封装。
http://cn.php.net/manual/en/ref.session.php

关于用setcookie,是要在页面刷新后(或第二次访问)$_COOKIE才会有值的,因为cookie是浏览器的值,所以刷新的时候PHP才能从浏览器中读取。

2010-03-04 19:48:32