【问题标题】:Is there some way to make $_SESSION data "per directory" in PHP?有没有办法在 PHP 中制作“每个目录”的 $_SESSION 数据?
【发布时间】:2020-08-08 00:12:08
【问题描述】:

所以我有一个带有登录页面的网站,位于名为“login”的子目录中。

我最近更改了虚拟主机,但现在我的登录页面没有让我登录。会话数据未显示在主页上[我已将其设置为 print_r($_SESSION);它显示的唯一数据是 sessionstart]。

但是当我再次点击登录页面时,它显示我已登录!

当我将登录页面移动到 MAIN 目录时,它会让我登录,这让我相信 $_SESSION 数据是每个目录的...

PHP版本与旧的webhost(7.2)相同,并且是相同类型的服务器(Linux上的Apache)。不确定会话数据如何在一个虚拟主机上运行,​​而不是在另一个主机上运行。

更新:

好的,看来是主目录中的 php.ini 文件引起的。但其中唯一的条目是 upload_max_filesize = 64Mpost_max_size = 64M 。我尝试将它复制到登录文件夹,但它仍然不会在两个页面之间保留会话数据。我错过了什么吗?

【问题讨论】:

    标签: php session-state


    【解决方案1】:

    Session_start() 应该出现在您需要会话的所有脚本中,您能告诉我们问题所在的代码吗?

    【讨论】:

    • 我有 ob_start();和 session_start();在登录和主页的顶部。涉及到很多其他代码,但即使我简化了它并且只有这两个和 print_r($_SESSION);在页面上,在登录页面上有一个标题重定向,它没有在主页上显示会话数据。此外,当我测试它们时,两个页面都有相同的 session_id。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-01-04
    • 2022-12-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多