0

我开发了一个带有会话的站点。它适用于本地服务器和生产机器。现在他们将站点移动到具有 SSL HTTPs 的新服务器。在这里我面临一个问题。

会话在一个页面中设置,但不会延续到另一个页面。相同的代码适用于基于 http 的服务器。

我尝试了以下方法来解决这个问题,但还没有解决

1)我通过 url 传递会话 ID 并在另一个页面中设置。这里也没有设置SESSION。

2)我在我的php文件中使用这两行作为一些论坛中的建议

ini_set("display_errors",1); 错误报告(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 关 关

session.bug_compat_42 关 关

session.bug_compat_warn 关 关

session.cache_expire 180 180

session.cache_limiter nocache nocache

session.cookie_domain 无值 无值

session.cookie_httponly 关 关

session.cookie_lifetime 0 0

session.cookie_path //

session.cookie_secure 关 关

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

session.use_trans_sid 0 0

服务器未定义索引中显示以下错误消息:第 9 行 /var/www/vhosts/xxx.com/httpdocs/HomePage.php 中的用户 ID

我仍然有同样的问题。请建议我解决这个问题

提前致谢

4

2 回答 2

0

您已经提供了一些有关您为影响结果所做的更改的信息,但您没有提供您为识别问题所做的诊断的任何详细信息。

您是否发现浏览器正在返回会话 cookie?您是否检查过会话文件是否存在?会话是否跨越 http 和 https?如果是这样,虚拟主机是否在不同的 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";
}
于 2012-05-03T09:09:34.673 回答
0

在这里,他们提供 Vhost 服务器。Vhost 服务器不存储会话。所以只有我面临这个问题..我使用单向解决这个问题。将会话作为 POST 变量传递并在每个页面中分配会话 ID。现在它起作用了..

于 2012-05-21T12:26:20.997 回答