PHP会话控制之如何正确设置session_name
定义:
string session_name([string $name])
说明:
在php.ini中配置为:session.name = PHPSESSID
在请求开始的时候,会话名称会被重置并存储到session.name配置项。
所以要想在不改变php.ini配置文件的情况下,更改session_name 必须要在 session_start()或
session_register()之前设置session_name。
代码演示:
-
[ 先启动会话,再设置session_name]
<?php
/**
* 深入理解PHP会话控制
* User: gutops
*/
//启动新会话
session_start();
//设置session_name
session_name('PHPSESSID_NEW');
echo session_name(); //输出为PHPSESSID_NEW
这样sesssion_name并未改变,查看浏览器cookies name为PHPSESSID(php.ini中默认设置的session.name)
- [ 先设置session_name 再启动会话(正确的修改方式)]
<?php
/**
* 深入理解PHP会话控制
* User: gutops
*/
session_name('PHPSESSID_NEW');
session_start();
echo session_name(); //输出为PHPSESSID_NEW
查看浏览器cookies,可以看到name变为PHPSESSID_NEW