[英]Sharing session instances in PHP
我想在PHP中使用session。 但它在我的场景中显示出一些问题。
我想在3个不同的PHP文件中共享同一个会话。
./sessionTest/testing1.php
./testing2.php
./testing3.php
如果我将一些信息存储在testing1.php
$ _SESSION中,我就无法访问其他2个文件中的相同信息
我该怎么做才能使这3个文件共享同一个会话实例?
还有其他(除了cookie)使这成为可能吗?
PS这3个文件由不同的调用执行,不能使用include()或require()函数将一个文件包含到另一个文件中。
在顶部添加了session_start(),但仍然没有共享同一个会话。
像这样:-)
//<-- testing1.php -->
<?php
session_start();
$_SESSION['value'] = "Text!";
?>
//<-- testing2.php -->
<?php
session_start();
echo $_SESSION['value']; //Text!
?>
请参阅本教程: PHP会话也许它可以帮助您理解使用会话
获取MSIE的iehttpheaders或Firefox的Web开发人员工具栏/ firebug,并检查您的PHP代码/呈现的cookie是否被删除。 还要检查setcookie标头上的路径和标志。
PHP错误是否被禁用? 如果是这样,你可能在代码中遇到问题而只是没有看到它? 我已经发生这种情况,我在开始会话之前在输出流中有一些空格,这意味着会话因为会话头没有先发送而中断。 当然,没有php错误显示它并不明显为什么变量为null。
只是一个更新,因为我在这里遇到了一些问题。 如果站点有多个会话/ cookie,则使用session_name()会很有帮助。 查看浏览器首选项以查看浏览器存储的cookie。 我发现如果你使用不同的会话,你必须经常刷这些cookie才能看到发生了什么。
<?php
session_name('mySession');
session_start();
$_SESSION['value'] = "Text!";
?>
<?php
session_name('mySession');
session_start();
echo $_SESSION['value'];
?>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.