每次执行session_start时都有不同的会话ID

发布于 2024-11-03 06:14:36 字数 289 浏览 0 评论 0原文

我有以下源代码

session1.php

<?php

session_start();
echo session_id();

?>

session2.php

<?php

session_start();
echo session_id();

?>

当我访问 session1.php 然后访问 session2.php 时,我得到不同的输出。

为什么要这样做呢?

I have the following source code

session1.php

<?php

session_start();
echo session_id();

?>

session2.php

<?php

session_start();
echo session_id();

?>

when I access session1.php then access session2.php, I get a different ouput.

Why is this doing it?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

把人绕傻吧 2024-11-10 06:14:36

浏览器不会将会话 cookie 发送回服务器。这可能有两个原因。

  1. 浏览器配置为不向服务器发送 cookie。您不能强制浏览器发送 cookie。在这种情况下,您唯一的选择是在 URL 中传递会话标识符,尽管这通常不是一个好主意。
  2. 服务器配置为不使用 cookie 作为会话标识符(通过 session.use_cookies 配置选项)。

The browser is not sending the session cookie back to the server. This can have two reasons.

  1. The browser is configured not to send cookies to the server. You cannot force the browser to send cookies. In this case your only option is to pass the session identifier in the URL, although this is generally not a good idea.
  2. The server is configured not to use cookies for the session identifier (by means of the session.use_cookies configuration option).
背叛残局 2024-11-10 06:14:36

尝试将会话 cookie 存储在数据库中而不是服务器上。这节省了我大量的时间和其他会话 cookie 问题,特别是如果您在共享服务器上。

这可能会有所帮助:http://www.raditha.com/php/session.php

祝你好运

Try storing your session cookies in the database rather than on the server. This saved me heaps of time out and other session cookie problems especially if you are on a shared server.

This might help: http://www.raditha.com/php/session.php.

Good Luck

人间不值得 2024-11-10 06:14:36

一个罕见的边缘情况,但我发现 php.ini 的会话名称中有一个点导致了这个问题!

session.name = THIS.DOESNTWORK

A rare edge case, but I found that having a dot in the session name of php.ini caused this problem!!

session.name = THIS.DOESNTWORK
我的鱼塘能养鲲 2024-11-10 06:14:36

如果您在 *nix 下运行,请尝试将 session.save_path 设置为 /tmp。如果这不起作用,请查看浏览器的 cookie 缓存,看看浏览器是否确实保存了 cookie。

If you're running under *nix, try setting session.save_path to /tmp. If that doesn't work, look in your browser's cookie cache to see if the cookie is indeed being saved by the browser.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文