我用的时候:
session_name( 'fObj' ); session_start(); $_SESSION['foo'] = 'bar';
随后加载页面并运行:
session_start(); print_r( $_SESSION );
不返回会话数据.
如果我删除session_name();它工作正常.
有谁知道如何使用具有不同会话名称的会话?
更新:
session_name( 'fObj' ); session_start(); print_r( $_SESSION );
我可以访问数据.但是,如果它只在我第一次加载没有该行的页面时才有效:
session_name( 'fObj' );
解决方法
John Robertson是正确的,他提到的陈述直接来自PHP手册(
http://php.net/manual/en/function.session-name.php).
默认情况下,您的会话名称来自PHP.ini变量’session.name’,通常设置为’PHPSESSID’.在每个启动请求时(如前所述),会话将重命名为PHPSESSID,除非您在session_start()之前调用session_name(‘fObj’)
在每个页面上,所以page1:
<?PHP session_name( 'fObj' ); session_start(); $_SESSION['foo'] = 'bar';
第2页:
<?PHP session_name( 'fObj' ); session_start(); print_r($_SESSION);
随后,您可以转到PHP.ini设置并将session.name变量从PHPSESSID更改为fObj,并且您创建的所有会话的会话名称都将为fObj.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。