栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

重定向后PHP会话丢失

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

重定向后PHP会话丢失

首先,执行以下常规检查:

  1. 确保
    session_start();
    在任何会话被调用之前被调用。因此,一个安全的选择就是将其放在页面的开头,紧接着在开始
    <?php
    声明之后,再放在其他任何地方。还要确保在打开
    <?php
    声明之前没有空格/制表符。
  2. 在后
    header
    重定向,使用结束当前的脚本
    exit();
    (其他人也建议
    session_write_close();
    ,并
    session_regenerate_id(true)
    ,你可以尝试那些为好,但我会用
    exit();
  3. 确保在用于对其进行测试的浏览器中启用了cookie。
  4. 确保
    register_globals
    已关闭,您可以在
    php.ini
    文件上并使用进行检查
    phpinfo()
    。有关如何关闭它的信息,
  5. 确保您没有删除或清空会话
  6. 确保您的
    $_SESSION
    超全局数组中的密钥不会在任何地方被覆盖
  7. 确保您重定向到相同的域。因此,从重定向
    www.yourdomain.com
    yourdomain.com
    不会继续进行会话。
  8. 确保您的文件扩展名是
    .php
    (确实发生了!)

现在,这些是最常见的错误,但是如果他们没有解决问题,那么问题很可能与您的托管公司有关。如果一切正常,

localhost
但不能在您的远程/测试服务器上运行,则很可能是罪魁祸首。因此,请检查您的托管服务提供商的知识库(也可以尝试其论坛等)。对于FatCow和iPage之类的公司,它们要求您指定
session_save_path
。像这样:

session_save_path('"your home directory path"/cgi-bin/tmp');session_start();

(将“您的主目录路径”替换为实际的主目录路径。这通常在控制面板内(或等效菜单中),但是您也可以

test.php
在根目录上创建一个文件并输入:

<?php echo $_SERVER['script_FILENAME']; ?>

“ test.php”之前的位是您的主目录路径。当然,请确保该文件夹确实存在于您的根目录中。(某些程序在同步时不会上传空文件夹)



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/416937.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号