gpt4 book ai didi

PHP session : $_SESSION is empty running locally on Mac

转载 作者:行者123 更新时间:2023-12-04 13:31:18 24 4
gpt4 key购买 nike

我知道这里还有类似的其他问题,但没有一个解决了我的问题。
问题:我正在将数据设置为 $_SESSION,但在即将到来的调用中它显示为空。
我做了什么来尝试解决它?

  • 确保运行最新版本的 PHP
  • 确保知道使用的是哪个 php.ini
  • $_SESSION 设置前后的日志状态
  • 按照其他问题和论坛中的建议设置各种变量

  • 下面我提供了我能提供的所有信息,希望有人能够提出解决方案!

    我已经使用 brew install php 在我的 Mac 上安装了 PHP
    我使用以下命令在本地运行它以进行软件开发:
    php -S localhost:8099 -d display_errors=on -t .
    [Tue Nov 17 23:12:55 2020] PHP 7.4.11 Development Server (http://localhost:8099) started
    我打电话 session_start();在我的剧本的开头。
    我正在将值设置为 $_SESSION,但是当我在以下调用中对其进行测试时,它始终为空:
    $ses = json_encode($_SESSION);
    site_log("before: {$ses}");

    session_regenerate_id();
    $_SESSION["upath"] = 'XXXXXX';

    $ses = json_encode($_SESSION);
    site_log("after: {$ses}");
    结果总是相同的(虽然我希望在第一次调用时看到它,但不会在接下来的调用中看到它):
    20201118_040124_484 before: []
    20201118_040124_485 after: {"upath":"XXXXXX"}
    我试图遵循网络论坛中的许多想法:
    验证哪个是 INI 文件:
    php -i | grep 'Configuration File'
    >Configuration File (php.ini) Path => /usr/local/etc/php/7.4
    >Loaded Configuration File => /usr/local/etc/php/7.4/php.ini
    我正在设置各种 INI 文件变量:
    session.save_path = "/Users/myuser/Prog/MyApp/sessions"
    +
    chmod 777 /Users/myuser/Prog/MyApp/sessions
    +
    session.use_cookies = 1
    +
    session.cookie_secure = 0
    但结果还是一样。请问有什么想法吗?
    以下链接指向调用phpinfo()的结果: link

    最佳答案

    所以最后我找到了解决方案。
    它基于此处提供的信息:Session cookie not being set
    由于@deceze 对我的问题进行了正确评论,因此调试此类问题的第一步是:

  • 检查是否在 save_path 文件夹中创建了 session 文件(在我的情况下:是)
  • 使用浏览器的开发工具查看是否为站点设置了 cookie(在我的情况下:否)

  • 所以实际的问题是:为什么没有设置cookies?
    解决方案:
  • 将条目添加到别名 127.0.0.1 作为“dot com”名称。这就是我所做的:

  • # 为 Mac!请参阅其他平台的链接答案

    须藤 vi/private/etc/hosts

    # 添加这一行:
    127.0.0.1 mylocal.com
  • 激活此域的本地 php 服务器(从站点根文件夹):

  • php -S mylocal.com:8099 -d display_errors=on -t 。
  • 从 php 服务器加载站点。我正在使用 支架 ,我不得不打开菜单:文件 -> 项目设置并将实时预览基本 URL 设置为:

  • http://mylocal.com:8099/
  • INI 文件中的一些变量可能也需要设置,如上面的问题
  • 中已经详细说明的那样。

    希望这些信息对其他人有所帮助!

    关于PHP session : $_SESSION is empty running locally on Mac,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64887059/

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