繁体   English   中英

在PHP中共享会话实例

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM