【问题标题】:PHP session not working between www and not-wwwPHP会话在www和not-www之间不起作用
【发布时间】:2017-01-26 16:15:56
【问题描述】:

成功登录后,我设置了一个 PHP 会话。它可以正常工作,但是当用户从“www.example.com”转到“example.com”时就会出现问题。

看起来会话没有注册。

这是我设置会话的方式:

session_start();
$_SESSION['user'] = $username;
$_SESSION['email'] = 'email';

有没有办法让会话在两个 URL 中都工作?最好避免重定向。

编辑:

我正在尝试这个,但没有成功。

ini_set('session.cookie_domain', '.domain.com' );
session_set_cookie_params(0, '/', '.domain.com');
session_start();
$_SESSION['user'] = $username;
$_SESSION['email'] = 'email';

【问题讨论】:

  • 您如何设置会话?我们需要看一些代码..
  • 签出this
  • 正如@AntonisTsimourtos 所指出的,尽管内容相同,但域并不是同一个“物理”位置。您需要调整 cookie 域或将每个人重定向到其中一个。大多数网站重定向到一个域,所以 www 或非 www。
  • @antonis-tsimourtos 该死的,我没有找到那个问题。我会试试的,谢谢!
  • 我添加了用于设置会话的代码。

标签: php session


【解决方案1】:

设置 PHP INI 选项

session.cookie_domain

例如

session.cookie_domain=.example.com

您必须为其添加前缀.,以确保它也适用于所有子域。

【讨论】:

  • 我坚持我的回答。
  • @JimmyAdaro 是的,应该可以。只需确保您使用的是正确的域名即可。
猜你喜欢
  • 2011-07-15
  • 1970-01-01
  • 1970-01-01
  • 2014-07-24
  • 1970-01-01
  • 2011-10-10
  • 2015-09-14
  • 2017-01-11
  • 1970-01-01
相关资源
最近更新 更多