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

Posted 归回老本行

tags:

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

定义:

string session_name([string $name])

说明:
  1. php.ini中配置为:session.name = PHPSESSID
  2. 在请求开始的时候,会话名称会被重置并存储到session.name配置项。
  3. 所以要想在不改变php.ini配置文件的情况下,更改session_name 必须要在 session_start()或
  4. session_register()之前设置session_name。

代码演示:

  • [ 先启动会话,再设置session_name]
  1. <?php
  2. /**
  3. * 深入理解PHP会话控制
  4. * User: gutops
  5. */
  6. //启动新会话
  7. session_start();
  8. //设置session_name
  9. session_name(‘PHPSESSID_NEW‘);
  10. echo session_name(); //输出为PHPSESSID_NEW
这样sesssion_name并未改变,查看浏览器cookies name为PHPSESSID(php.ini中默认设置的session.name)
  • [ 先设置session_name 再启动会话(正确的修改方式)]
  1. <?php
  2. /**
  3. * 深入理解PHP会话控制
  4. * User: gutops
  5. */
  6. session_name(‘PHPSESSID_NEW‘);
  7. session_start();
  8.  
  9. echo session_name(); //输出为PHPSESSID_NEW
查看浏览器cookies,可以看到name变为PHPSESSID_NEW

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

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

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

PHP会话控制之session_start

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

Django之session与分页

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