php session 相关问题
两篇较好的文章:
http://www.nowamagic.net/php/php_SessionPrinciple.php
http://hi.baidu.com/kkwtre/item/75a0209c314a0cdb1a49df59
http://php.net/manual/en/function.session-start.php
默认session是使用的文件系统,使用之前都应该先调用session_start()来准备。
session_name()是获得/设置session对应的cookie名(用于存储sessionid)
session_id()适用于获得/设置session的id
使用步骤:
<?php session_start(); echo 'Welcome to page #1'; $_SESSION['favcolor'] = 'green'; $_SESSION['animal'] = 'cat'; $_SESSION['time'] = time(); ?>
注销session:
<?php session_start(); session_unset(); session_destroy(); session_write_close(); setcookie(session_name(), '', 0, '/'); session_regenerate_id(true); ?>
注意:
<?php session_destroy(); session_write_close(); ?>
这两个方法会导致后面对$_SESSION的操作不起作用,所以,要想达到清除之前session重新开启session的效果,这两句话则不应调用。
对于集群而言,道理都是一样,session概念的内容还是存储在数据库或memcache中来达到透明效果较好。