PHP会话控制之如何正确设置session_name

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP会话控制之如何正确设置session_name相关的知识,希望对你有一定的参考价值。

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

以上是关于PHP会话控制之如何正确设置session_name的主要内容,如果未能解决你的问题,请参考以下文章

在 PHP 中使用 javascript 设置会话变量

PHP会话控制之失效时间与过期回收机制

PHP会话控制之session_start

PHP系列(十三)PHP会话控制

Django之session与分页

PHP Laravel:如何设置或获取会话数据?