我用会话开发了一个站点。它适用于本地服务器和生产机器。现在,他们使用SSL HTTP将站点移动到新服务器。在这里,我面临一个问题。
会话设置在一个页面中,但不会转移到另一个页面。相同的代码适用于基于http的服务器。
我尝试了以下方法来解决这个问题但尚未解决
1)我将会话ID传递给url并设置在另一个页面中。这里也没有设置SESSION。
2)我在我的php文件中使用这两行,就像在一些论坛中建议的那样
的ini_set( “display_errors设置”,1); 的error_reporting(E_ALL);
3)我也使用这些行来解决某些论坛中建议的问题 ini_set('session.cookie_domain','https://xxx.com');
session_set_cookie_params(ini_get('session.cookie_lifetime'),ini_get('session.cookie_path'),'https://xxx.com');
4)在PHP.ini中,显示会话中的内容
session.auto_start Off Off
session.bug_compat_42关闭
session.bug_compat_warn Off Off
session.cache_expire 180 180
session.cache_limiter nocache nocache
session.cookie_domain没有值没有值
session.cookie_httponly Off Off
session.cookie_lifetime 0 0
session.cookie_path / /
session.cookie_secure Off Off
session.entropy_file没有值没有值
session.entropy_length 0 0
session.gc_divisor 1000 1000
session.gc_maxlifetime 1440 1440
session.gc_probability 1 1
session.hash_bits_per_character 5 5
session.hash_function 0 0
session.name PHPSESSID PHPSESSID
session.referer_check没有值没有值
session.save_handler文件文件
session.save_path / var / lib / php / session / var / lib / php / session
session.serialize_handler php php
session.use_cookies On On
session.use_only_cookies Off Off
session.use_trans_sid 0 0
以下服务器中显示的错误消息 未定义的索引:第9行的/var/www/vhosts/xxx.com/httpdocs/HomePage.php中的userid
我还有同样的问题。请建议我解决这个问题
提前致谢
答案 0 :(得分:0)
您已经提供了一些有关您为改变结果而做出的更改的信息,但您没有提供您为确定问题所做的诊断的任何详细信息。
您是否认为浏览器正在返回会话cookie?你检查过一个会话文件吗?会话是否跨越http和https?如果是这样,vhosts是否在不同的uid下运行?
<?php
print_r($_COOKIE);
if ($_COOKIE[sesion_name()]) {
$path=ini_get('session.save_path') . '/' . $_COOKIE[sesion_name()];
if (!is_readable(dirname($path)) || !is_dir(dirname($path))) {
print "bad session dir\n";
}
if (!is_readable($path) || !is_file($path)) {
print "bad session file\n";
} else if (!is_writeable($path)) {
print "permissions issue with session file\n";
}
print_r(stat($path));
print "\n\n";
print @file_get_contents($path);
} else {
print "no session cookie";
}
答案 1 :(得分:0)
这里他们给Vhost服务器。 Vhost服务器没有存储会话。所以只有我面对这个问题..我一直用来解决这个问题。将会话作为POST变量传递,并在每个页面中分配会话ID。现在它有效..