session_name()可以在session_start()后面修改?

session_name()可以在session_start()后面修改?

<?php
session_start();
session_name('imooc');

$_SESSION['abc'] = 123;

echo session_name();//imooc 不是应该输出 PHPSESSID 或者 直接报错?

“请求开始的时候,会话名称会被重置并且存储到 session.name 配置项。 因此,要想设置会话名称,那么对于每个请求,都需要在 调用 session_start() 或者 session_register() 函数 之前调用 session_name() 函数。”--PHP官方文档

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
imooc_澈 2017-09-26 11:09:29

您好,修改名称确实必须在session开启之前修改,这个老师在《1-4 与SESSION相关的函数》中 8:23s处也讲到了哦,如下图:后面也带着大家进行了设置,您可以再回顾一下这个小节。

http://img1.sycdn.imooc.com/climg//59c9c4d90001711d10150634.jpg

如果解决了您的问题,请采纳,祝学习愉快~

  • 提问者 adn_boy #1
    我知道老师在视频中有讲过要在session_start()之前调用session_name(),我现在不明白的是在session_start()之前或之后调用有什么区别?
    2017-09-26 20:23:37
  • guly 回复 提问者 adn_boy #2
    你好,这就相当于你进屋之前要先先开门才能进去一个道理,先开启session,才能使用session存储,如果解决您的问题请采纳,祝学习愉快!
    2017-09-26 22:29:30
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师