我很担心为什么会话没有在我的网页上保存。我在以前的服务器上使用了相同的代码并且工作正常,但是当我尝试在这个新服务器上安装应用程序时,会话变量根本就没有保存。
每个加载的页面都会传递此加载函数:
// 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
答案 0 :(得分:2)
如果这是一个新的服务器,可能会话没有成功写入会话文件夹,默认情况下我认为它将它保存在/ tmp中,但您可能想尝试在php.ini中设置路径,如:
session.save_path = "/var/lib/php/session"
对文件夹应用适当的写入权限,并查看会话是否在页面之间保持不变。
答案 1 :(得分:0)
我做了
chmod a+rwx /var/lib/php/session
它适用于lighttpd。