PHP会话在一台计算机中为空,但不是另一台。奇怪的!

时间:2009-10-07 18:13:47

标签: php apache session

问题是我有一个PHP脚本(A)进行注册,授权Twitter,然后Twitter调用返回PHP脚本(B)。 在脚本(A)中,我设置了一些$ _SESSION变量,在脚本(B)中我会得到它。很直接的前锋。 我在我的计算机上测试了它,一切正常。我可以在脚本(B)中看到由脚本(A)设置的会话变量。所以我的朋友们。 但是,最重要的是,我老板的电脑看不到它!那是最糟糕的。他也尝试过他的电脑,仍然没有在他的工作。

我甚至重启并重新启动服务器,但情况仍然如此。

所以,我的问题是,是否存在服务器无法在计算机上设置会话的任何限制?或者,..在哪种情况下,服务器将无法设置会话?

服务器:Apache 2.2.3。使用Plesk PHP:5.2.5

3 个答案:

答案 0 :(得分:3)

也许是一个愚蠢的问题,但无论如何......你的老板会阻止他的电脑上的饼干吗?

如果是这种情况,并且出于某种原因,PHP被设置为不“回退”通过查询字符串传递会话ID(或重定向以某种方式剥离它),这可能是一个问题。

答案 1 :(得分:1)

会话ID在不同的计算机上是不同的,因为这是会话背后的想法。您为每个访问者分配一个号码(会话ID),通过该号码,您可以在每个用户$ _SESSION数组中识别用户和存储信息。该阵列仅适用于该单个会话/用户。

如果您想要为站点的所有访问者存储数据,您可能希望使用数据库或服务器端缓存。

答案 2 :(得分:0)

由于会话失败,请检查客户端是否在每个请求上使用相同的会话而不是新请求。检查会话ID是否正确携带。如果您正在使用会话cookie,请检查其有效性设置,并查看客户端是否接受会话cookie。请参阅PHP Session/Cookie problems with Windows XP, Vista, IE and certain users