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

猜你喜欢

转载自www.cnblogs.com/keta/p/9233380.html