PHP函数补完:session_name()
2011-01-08 00:00
766 查看
session_start()是session机制的开始,它有一定概率开启垃圾回收,因为session是存放在文件中,PHP自身的垃圾回收是无效的,SESSION的回收是要删文件的,这个概率是根据php.ini的配置决定的。session会判断当前是否有$_COOKIE[session_name()];session_name()返回保存session_id的COOKIE键值,这个值可以从php.ini找到:
session.use_cookies:默认值为"1",代表SessionID使用Cookie来传递,反之就是用Query_String来传递。
Session.name:这个就是SessionID储存的变量名称,可能是Cookie来传递,也可能是Query_String来传递,默认值是"PHPSESSID"
Session.cookie_lifetime:这个代表SessionID在客户端Cookie储存的时间,默认值是“0”,代表浏览器一关闭,SessionID就作废,就是因为这个原因,所以Session不能永久使用。
Session.gc_maxlifetime:这个是Session数据在服务器端储存的时间,如果超过这个时间,那么Session数据就自动删除。
语法: string session_name(string [name]);
本函数可取得或者重新配置目前 Session 的名称。若无参数 name 则表示单单获取目前 Session 名称,加上参数则表示将 Session 名称设为参数 name。
如果建立时是这样seesion_register("test");那么就可以用seesion_name("test")来找到这。session_id()这个函数是用来为会话进行编号就好像PHP数组一样支持字符和数字标识。
运行结果:
现在可以明确了:
session_name() 默认为 "PHPSESSID"
而 session_id() 是 一次HTTP 请求,服务器得到的 $_POST['PHPSESSID'] 或者 $_GET['PHPSESSID'] 或者 $_COOKIE['PHPSESSID']
如果你在 session_start() 前调用了 session_name('SID'); 那么正常情况下(客户端支持Cookie时), 会给客户端发送 Set-Cookie: SID=(session_id 的值);
PHP函数补完:get_magic_quotes_gpc()
PHP函数补完:error_reporting()
PHP函数补完:preg_match()
PHP函数补完:urlencode()
PHP函数补完:array_multisort()
PHP函数补完:array_splice()
PHP函数补完:isset()
PHP函数补完:getenv()
PHP函数补完:header()
PHP函数补完:mysql_num_rows()
PHP函数补完:list()
PHP函数补完:mysql_query()
PHP函数补完:mysql_fetch_array()
PHP函数补完:number_format()
PHP函数补完:explode()
PHP函数补完:call_user_func()
PHP函数补完:ImageCopyResamples()
PHP函数补完:import_request_variables()
PHP函数补完:parse_url()
PHP函数补完:移除HTML标签strip_tags()
PHP函数补完:输出数组结构与内容var_dump()
PHP函数补完:var_export()
PHP函数补完:判断变量是否为数字is_numeric()
PHP函数补完:session_name()
PHP函数补完:session_id()
PHP函数补完:nl2br()与nl2p()函数
PHP函数补完:shuffle()取数组若干个随机元素
PHP函数补完:http_build_query()构造URL字符串
PHP函数补完:stream_context_create()模拟POST/GET
session.name = PHPSESSID //默认值
session.use_cookies:默认值为"1",代表SessionID使用Cookie来传递,反之就是用Query_String来传递。
Session.name:这个就是SessionID储存的变量名称,可能是Cookie来传递,也可能是Query_String来传递,默认值是"PHPSESSID"
Session.cookie_lifetime:这个代表SessionID在客户端Cookie储存的时间,默认值是“0”,代表浏览器一关闭,SessionID就作废,就是因为这个原因,所以Session不能永久使用。
Session.gc_maxlifetime:这个是Session数据在服务器端储存的时间,如果超过这个时间,那么Session数据就自动删除。
session_name()
session_name() 存取目前 session 名称。语法: string session_name(string [name]);
本函数可取得或者重新配置目前 Session 的名称。若无参数 name 则表示单单获取目前 Session 名称,加上参数则表示将 Session 名称设为参数 name。
如果建立时是这样seesion_register("test");那么就可以用seesion_name("test")来找到这。session_id()这个函数是用来为会话进行编号就好像PHP数组一样支持字符和数字标识。
<?php /* set the session name to NowaMagic */ $str = "NowaMagic"; session_name($str); echo session_name(); ?>
session_name() 与 session_id() 的区别
我们先自己运行一次程序,看看输出结果:<?php session_start(); echo session_name().'='.session_id(); ?>
运行结果:
PHPSESSID=4d8d3ep8cakmvto6hvut3mphf4
现在可以明确了:
session_name() 默认为 "PHPSESSID"
而 session_id() 是 一次HTTP 请求,服务器得到的 $_POST['PHPSESSID'] 或者 $_GET['PHPSESSID'] 或者 $_COOKIE['PHPSESSID']
如果你在 session_start() 前调用了 session_name('SID'); 那么正常情况下(客户端支持Cookie时), 会给客户端发送 Set-Cookie: SID=(session_id 的值);
小结
一句话:默认值是PHPSESSID,你可以用session_name()修改。延伸阅读
此文章所在专题列表如下:PHP函数补完:get_magic_quotes_gpc()
PHP函数补完:error_reporting()
PHP函数补完:preg_match()
PHP函数补完:urlencode()
PHP函数补完:array_multisort()
PHP函数补完:array_splice()
PHP函数补完:isset()
PHP函数补完:getenv()
PHP函数补完:header()
PHP函数补完:mysql_num_rows()
PHP函数补完:list()
PHP函数补完:mysql_query()
PHP函数补完:mysql_fetch_array()
PHP函数补完:number_format()
PHP函数补完:explode()
PHP函数补完:call_user_func()
PHP函数补完:ImageCopyResamples()
PHP函数补完:import_request_variables()
PHP函数补完:parse_url()
PHP函数补完:移除HTML标签strip_tags()
PHP函数补完:输出数组结构与内容var_dump()
PHP函数补完:var_export()
PHP函数补完:判断变量是否为数字is_numeric()
PHP函数补完:session_name()
PHP函数补完:session_id()
PHP函数补完:nl2br()与nl2p()函数
PHP函数补完:shuffle()取数组若干个随机元素
PHP函数补完:http_build_query()构造URL字符串
PHP函数补完:stream_context_create()模拟POST/GET
相关文章推荐
- PHP函数补完:session_name()
- PHP函数补完:session_id()
- PHP函数补完:session_id()
- PHP函数补完:session_id()
- PHP函数:session_name() session_id()
- php里少用到的session_module_name,以及session的key值限制,简单将session存储为json格式数据的方法
- ADS错误之the session file 'C:\user\username\default-1-2-0-0.ses' could not be loaded.
- VNC: Could not acquire name on session bus
- Spring异常:Error creating bean with name 'sessionFactory' defined in ServletContext resource [/WEB-INF
- PHP函数之ini_get('register_globals') 与ini_set('session.use_cookies', 'On')
- creating bean with name 'sessionFactory' defined in ServletContext resource
- RVDS的AXD故障之:the session file 'C:\$Username\default-2-2-0-0.ses' could not be loaded.
- Error creating bean with name 'sessionFactory' defined in ServletContext resource 解决方法之一
- Error creating bean with name 'sessionFactory' defined in class path resource [applicationContext.xm
- Error creating bean with name 'sessionfactory' defined in ServletContext resource [/WEB-INF/applicat
- 项目遇到OpenSessionInViewFilter的默认sessionFactoryBeanName的问题
- PHP函数补完:error_reporting()
- Error creating bean with name 'sessionFactory' defined
- Error creating bean with name 'sessionFactory' defined in ServletContext resource
- Error creating bean with name 'sqlSessionFactory' defined in class path resource [applicationContext