繁体   English   中英

通过https的cookie中的phpsessid

[英]phpsessid in cookie over https

在我的本地WAMP服务器中,当我调用session_start() ,将在cookie中设置会话ID如下,而var_dump($_COOKIE)给出以下内容。

array
  'PHPSESSID' => string 'qg8nrlpdtgb391386lhghgv727' (length=26)

因此,当我再次调用session_start()时,我的上一个会话将恢复。

但是当我将相同的代码部署到Web服务器时,未在cookie中设置PHPSESSID。 因此,每次我调用session_start(),都会创建一个新会话,而不是继续上一个会话。

谁能告诉我这个问题的可能原因。 我们是否必须将PHPSESSID显式设置为cookie?

另外,在我的本地(WAMP)中,我没有 https,但是我推送代码的Web服务器是https。 这有问题吗?

我已经坚持了将近3天。

提前致谢。 卡纳

看起来会话处理在此Web服务器上的配置有所不同。 您应该在会话部分下比较php.ini文件中设置的值。

特别:

  1. session.use_cookies是否设置为1?
  2. session.save_path是否指向Web服务器用户具有写许可权的有效目录

有关会话设置的完整列表,请参见此处: http : //de3.php.net/manual/de/session.configuration.php

我在html <head>标记后立即调用了session_start()。 这就是问题所在。 当我将session_start()方法移到html head标记之前时,此问题已解决。

感谢大家的帮助。
卡纳

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM