重定向后 PHP 会话丢失
2022-08-30 06:41:25
如何解决在 PHP 中重定向后丢失会话的问题?
最近,我遇到了一个非常常见的问题,即重定向后丢失会话。在搜索了这个网站之后,我仍然找不到任何解决方案(尽管这是最接近的)。
更新
我已经找到了答案,我想我会把它贴在这里,以帮助任何遇到同样问题的人。
如何解决在 PHP 中重定向后丢失会话的问题?
最近,我遇到了一个非常常见的问题,即重定向后丢失会话。在搜索了这个网站之后,我仍然找不到任何解决方案(尽管这是最接近的)。
更新
我已经找到了答案,我想我会把它贴在这里,以帮助任何遇到同样问题的人。
首先,执行这些常规检查:
session_start();
<?php
<?php
header
exit();
session_write_close();
session_regenerate_id(true)
exit();
)register_globals
php.ini
phpinfo()
$_SESSION
www.yourdomain.com
yourdomain.com
.php
现在,这些是最常见的错误,但是如果他们没有解决问题,那么问题最有可能与您的托管公司有关。如果一切正常,但不适用于您的远程/测试服务器,那么这很可能是罪魁祸首。因此,请检查托管服务提供商的知识库(也请尝试他们的论坛等)。对于像FatCow和iPage这样的公司,他们要求您指定。所以像这样:localhost
session_save_path
session_save_path('"your home directory path"/cgi-bin/tmp');
session_start();
(将“您的主目录路径”替换为实际的主目录路径。这通常位于控制面板(或等效面板)中,但您也可以在根目录上创建一个文件并键入:test.php
<?php echo $_SERVER['SCRIPT_FILENAME']; ?>
“test.php”之前的位是您的主目录路径。当然,请确保该文件夹确实存在于根目录中。(某些程序在同步时不会上传空文件夹)
您应该在标头调用后使用“退出”
header('Location: http://www.example.com/?blabla=blubb');
exit;