gpt4 book ai didi

php - PHP session 是否跨子目录工作?

转载 作者:可可西里 更新时间:2023-11-01 13:30:48 24 4
gpt4 key购买 nike

我有一个名为 System 的主目录和一个名为 Subsystem 的子目录。我在主目录中的 session 在子目录中不起作用。

当我在两个文件夹中 echo session_save_path(); 时,它们会显示 "/tmp"

然后,我尝试将 session_save_path("../tmp"); 放在我的子目录中,但它向我显示 “This webpage has a redirect loop” .

System 目录下的

session.php:

<?php
session_start( );

if (!($_SESSION['uid']))
{
header("Location:index.php");
}
else
{
$_SESSION['uid'] = $_SESSION['uid'];
}
?>

子系统文件夹中的session.php:

<?php
session_save_path("../tmp");
session_start( );

if (!($_SESSION['uid']))
{
header("Location:index.php");
}
else
{
$_SESSION['uid'] = $_SESSION['uid'];
}

?>

我用 Google 搜索了所有内容,但仍然无法正常工作。

最佳答案

该目录不会影响您的 session 状态(给定 Apache-PHP 网站的所有目录将访问标准配置中的同一 session )。您不必使用 session_save_path()

我认为部分问题在于您将“uid”设置为自身 ($_SESSION['uid'] = $_SESSION['uid'];) - 因此实际上可能永远不会将其设置为一个值 - 如果未设置,则可能会无限期地重定向。

我建议使用这个简单的测试来确保您的 session 确实有效:

/session_set.php

<?php
session_start();
$_SESSION['uid'] = 123;

/sub_dir/session_get.php

<?php
session_start();
echo $_SESSION['uid'];

关于php - PHP session 是否跨子目录工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13715602/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com