Php 会议背后的故事是什么

Php 会议背后的故事是什么,php,session,Php,Session,简单地说,我已经受够了会话,那么什么是该会话工作的最佳服务器设置 示例 假设我们有两个文件[a.php和b.php] a、 php代码 b、 php代码 是的,是的,它可以和你们很多人一起工作,但我想知道为什么它可以和我一起在某些主机上使用下面的php信息 在我的第二个主机上不工作时有以下信息 为什么??php服务器设置有什么问题,我真的很沮丧,因为我的网站完全依赖此会话作为警报:( 感谢您的帮助会话在标题中发送,您正在使用位置标题重定向。标题()每个PHP.net函数一次只发送

简单地说,我已经受够了会话,那么什么是该会话工作的最佳服务器设置

示例 假设我们有两个文件[a.php和b.php]

a、 php代码


b、 php代码


是的,是的,它可以和你们很多人一起工作,但我想知道为什么它可以和我一起在某些主机上使用下面的php信息

在我的第二个主机上不工作时有以下信息

为什么??php服务器设置有什么问题,我真的很沮丧,因为我的网站完全依赖此会话作为警报:(


感谢您的帮助

会话在标题中发送,您正在使用位置标题重定向。标题()每个PHP.net函数一次只发送一个头。我认为您在服务器将会话头发送给用户之前进行了重定向。我可能错了,所以请使用meta refresh进行测试,看看会发生什么。是的,它已被弃用,但在此处进行测试时效果良好:

echo '<meta http-equiv="refresh" content="0;b.php">';

希望对您有效

会话存储在两台服务器上的文件中(session.save\u handler=files),但session.save\u路径不同:
/var/php\u会话
用于不工作的服务器,而“空”用于工作的服务器(默认情况下为/tmp)


/var/php\u会话是否存在并且可供web服务器用户(通常是apache、httpd或www数据)编写?您应该在
/var/php\u sessions
中找到会话文件。将会话id与cookie提供的id匹配。

另一个错误源可能是代理干扰。您的第二台服务器正在运行Nginx/Varnish,这两个服务器都可以配置为充当反向代理

第二个服务器对a.php请求的回答以“0”开头,这也让我很恼火。我可以理解b.php打印了一个“0”,但a.php为什么要这样做呢

你自己看看:

0<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">\n
^ <-- this is strange, isn't it?
0\n
^
echo '<meta http-equiv="refresh" content="0;b.php">';
header("Location: b.php");
0<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">\n
^ <-- this is strange, isn't it?