每次执行session_start时都有不同的会话ID
我有以下源代码
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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
浏览器不会将会话 cookie 发送回服务器。这可能有两个原因。
The browser is not sending the session cookie back to the server. This can have two reasons.
尝试将会话 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
一个罕见的边缘情况,但我发现 php.ini 的会话名称中有一个点导致了这个问题!
A rare edge case, but I found that having a dot in the session name of
php.ini
caused this problem!!如果您在 *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.