2

更新:

该网站现在可以在所有浏览器上运行,现在 Chrome 除外。我认为这很奇怪——这一切都是在服务器切换到 SSL 后出现的。

作为建议,我已将其放入应用程序中:

ini_set('session.use_trans_sid', true);
ini_set('session.use_cookies', true);
ini_set('session.use_only_cookies', true);

$https = false;

if(isset($_SERVER['HTTPS']) and $_SERVER['HTTPS'] != 'off') {
    $https = true;
}

$dirname = rtrim(dirname($_SERVER['PHP_SELF']), '/') . '/';

session_name('money');
session_set_cookie_params(0, '/', $_SERVER['HTTP'], $https, true);
session_start();

但是我仍然无法设置会话 - 该应用程序基于 MVC,因此根据 URL 中加载的页面需要控制器。

通过所需/包含的文件传递会话是否存在问题?

4

2 回答 2

6

与 chrome 请求的 Favicon.ico 有关 - 我永远不会猜到。

非常感谢所有帮助过的人!

于 2013-02-19T16:13:21.750 回答
0

HTTP当您在同一服务器上的和服务HTTPS之间切换时,会话 ID 不会传递给会话。您可以通过将会话 ID 从 HTTP 传递到 HTTPS 来设置它。HTTPHTTPS

您可以管理 HTTP 到 HTTPS 或 HTTPS 到 HTTP 之间的会话:

  1. 使用 GET 在页面之间传输会话 ID
  2. 通过 POST POST 会话 ID
  3. 使用文件保存会话
  4. 使用 Cookie 进行会话
  5. 使用数据库保存会话
于 2013-02-26T10:20:20.870 回答