2009-10-07 45 views
0

问题是我有一个PHP脚本(A),它注册,授权Twitter,然后Twitter调用返回PHP脚本(B)。 在脚本(A)中,我设置了一些$ _SESSION变量,并且在脚本(B)中我会得到它。非常直的前卫。 我已经在我的电脑上进行了测试,它都可以工作。我可以在脚本(A)中看到脚本(B)中的会话变量。和我的朋友一样。 但是,最重要的是,我老板的电脑看不到它!这是最糟糕的。他也在自己的电脑上试过,在他的最后仍然没有工作。PHP会话在一台计算机中为空,但不是另一台计算机。奇怪的!

我甚至重新启动并重新启动服务器,但仍然情况保持不变。

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

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

+0

你是什么意思“然后twitter调用返回到PHP脚本”? – timdev 2009-10-07 18:23:03

+0

基本上,应用程序使用Twitter注册。 so,... 脚本(A) - >重定向到Twitter,Twitter重定向回(B) 实际上,对于那部分来说并不重要。 :)在脚本(A)和脚本(B)中都有 ,我有session_start()。通常,无论我在脚本(A)中设置了$ _SESSION,我都可以在脚本(B)中获得它。这在我的电脑和我的朋友的电脑上都没有问题。但是在(B)中,我老板的电脑没有看到$ _SESSION变量。 – Murvinlai 2009-10-07 18:39:30

回答

0

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

+0

是的,它是同一个会话。 (应该是。otherwsie,它不会在我和我朋友的电脑上工作,我也在代码中检查和确认)。 – Murvinlai 2009-10-07 18:30:14

3

也许一个愚蠢的问题,但无论如何......你的老板是否在他的电脑上屏蔽了cookies?

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

+0

没有。没有阻止。我只是检查它。 这是sessionid更改的问题。很奇怪。 – Murvinlai 2009-10-08 02:08:35

1

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

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

相关问题