【问题标题】:My session variables are not being saved across multiple pages我的会话变量没有跨多个页面保存
【发布时间】:2011-07-31 06:29:42
【问题描述】:

我正在为为什么没有在我的网页上保存会话而苦恼。我在以前的服务器上使用过相同的代码并且运行良好,但是当我尝试在这个新服务器上安装应用程序时,会话变量根本没有保存。

每一个被加载的页面,都会通过这个加载函数:

// 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

【问题讨论】:

  • 请发布您在会话中存储数据的位置以及您如何访问它的代码。
  • 请看我下面的回复,干杯

标签: php session session-variables


【解决方案1】:

我做到了

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

它适用于 lighttpd。

【讨论】:

    【解决方案2】:

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

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

    对文件夹应用适当的写入权限,并查看会话是否跨页面持续存在。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多