欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

PHP中的session永不过期

shiping1 的头像
打开php.ini设置文件,修改三行如下:

  1、session.use_cookies

  把这个的值设置为1,利用cookie来传递sessionid

  2、session.cookie_lifetime

  这个代表SessionID在客户端Cookie储存的时间,默认是0,代表浏览器一关闭SessionID就作废……就是因为这个所以PHP的 session不能永久使用! 那么我们把它设置为一个我们认为很大的数字吧,999999999怎么样,可以的!就这样。

  3、session.gc_maxlifetime

  这个是Session数据在服务器端储存的时间,如果超过这个时间,那么Session数据就自动删除! 那么我们也把它设置为99999999。

 

如果没有修改php.ini的权限的话,具体做法如下:

  1. <?php  
  2. session_start();                                           // 启动Session   
  3. $_SESSION['count'];                                        // 注册Session变量Count   
  4. isset($PHPSESSID)?session_id($PHPSESSID):$PHPSESSID session_id();   
  5. // 如果设置了$PHPSESSID,就将SessionID赋值为$PHPSESSID,否则生成SessionID   
  6.    
  7. $_SESSION['count']++;                                      // 变量count加1   
  8. setcookie('PHPSESSID'$PHPSESSIDtime()+3156000);        // 储存SessionID到Cookie中   
  9. echo $count                                              // 显示Session变量count的值   
  10. ?> 

  注意:在setcookie一行中的’PHPSESSID’并不是一定的,如果你遇到有个患有修改狂疾病的网管员,他可能对其做了 修改,最好的方法是用phpinfo()这个函数看看,确认一下session.name一项的值,比较科学。

来自 http://blog.sina.com.cn/s/blog_67a4066a0100mkn4.html

普通分类: