简单地说,我已经有足够的 session 了,所以该 session 工作的最佳服务器设置是什么。
示例 假设我们有 2 个文件 [a.php 和 b.php]
a.php 代码
<?php
session_start();
$_SESSION['msg'] = "Hello world";
header("Location: b.php");
exit;
?>
b.php代码
<?php
session_start();
echo $_SESSION['msg'];
unset($_SESSION['msg']);
?>
是的,它适用于很多人,但我想知道为什么它在某些主机上适用于我,并查看以下 php 信息
PHP INFO (WORKS) PHP Version 5.3.8 register_globals = On
虽然它在我的第二个主机上无法工作,但具有以下信息
PHP INFO (NOT WORKS) PHP Version 5.2.17 register_globals = On
Example Not Works and giving 0
为什么? php 服务器设置有什么问题,我真的很沮丧,因为我的网站完全依赖此 session 作为警报:(
谢谢你帮助我
最佳答案
session 在 header 中发送,并且您使用 Location header 进行重定向。根据 PHP.net,header() 函数一次只会发送 1 个 header 。我认为您在服务器将 session header 发送给用户之前进行重定向。我可能是错的,所以用元刷新进行测试,看看会发生什么。是的,它已被弃用,但可以很好地用于此处的测试:
echo '<meta http-equiv="refresh" content="0;b.php">';
替换:
header("Location: b.php");
希望对你有用
关于php - session 背后有什么故事,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9046000/