我的会话变量未在多个页面中保存

时间:2011-04-07 00:01:24

标签: php session session-variables

我很担心为什么会话没有在我的网页上保存。我在以前的服务器上使用了相同的代码并且工作正常,但是当我尝试在这个新服务器上安装应用程序时,会话变量根本就没有保存。

每个加载的页面都会传递此加载函数:

// Initialise session data
session_start();

// Dispatch the request 
$template = dispatchRequest();

// Output the response 
echo($template->getOutput());

// Finished 
exit;

模板是根据请求的操作加载当前页面的功能,例如www.webpage.com/do-something,这将显示do-something页。

以下是我的phpinfo输出的一部分:

Session Support enabled 
Registered save handlers files user
Registered serializer handlers php php_binary

Directive Local Value Master Value 
session.auto_start Off Off 
session.bug_compat_42 Off Off 
session.bug_compat_warn On On 
session.cache_expire 180 180 
session.cache_limiter nocache nocache 
session.cookie_domainno value no value 
session.cookie_httponly Off Off 
session.cookie_lifetime 0 0 
session.cookie_path /tmp /tmp 
session.cookie_secure Off Off 
session.entropy_file no value no value 
session.entropy_length 0 0 
session.gc_divisor 1000 1000 
session.gc_maxlifetime 2700 2700 
session.gc_probability 1 1 
session.hash_bits_per_character 5 5 
session.hash_function 0 0 
session.name PHPSESSID PHPSESSID 
session.referer_check no value no value 
session.save_handler files files 
session.save_path /tmp /tmp 
session.serialize_handler php php 
session.use_cookies On On 
session.use_only_cookies Off Off 
session.use_trans_sid 0 0

2 个答案:

答案 0 :(得分:2)

如果这是一个新的服务器,可能会话没有成功写入会话文件夹,默认情况下我认为它将它保存在/ tmp中,但您可能想尝试在php.ini中设置路径,如:

session.save_path = "/var/lib/php/session"

对文件夹应用适当的写入权限,并查看会话是否在页面之间保持不变。

答案 1 :(得分:0)

我做了

chmod a+rwx /var/lib/php/session

它适用于lighttpd。