【问题标题】:My cookies are only available on PHP pages they are set on, is this normal?我的 cookie 仅在它们设置的 PHP 页面上可用,这正常吗?
【发布时间】:2012-03-29 13:48:24
【问题描述】:

除了设置它们的页面之外,我无法从任何页面访问 cookie。我查看了不同页面上的print_r($_COOKIE),页面之间唯一的共同变量是$_COOKIE['PHPSESSID']

我正在本地 XAMPP 测试服务器上进行开发。是否有我应该在 PHP.ini 上更改的设置,或者这是 cookie 的正常行为?抱歉,我对这些东西有点陌生,我的印象是 cookie 可以在整个网站范围内访问。

我正在设置像这样的 cookie:

setcookie("user", "Dave Schmave", time()+60*60*24*120);

任何帮助将不胜感激。谢谢

【问题讨论】:

标签: php cookies session-cookies setcookie


【解决方案1】:

尝试将 cookie 路径设置为根目录:

setcookie("user", "Dave Schmave", time()+60*60*24*120, '/');

是否也在同一个域中?通过 HTTPS 访问也会影响您的 cookie。

【讨论】:

  • 这似乎做到了。这是可以在全局服务器设置上更改的吗?我的 php.ini 文件 session.cookie_path 设置为“/”,但我想我仍然需要在 setcookie() 中声明根。感谢您的帮助1
  • 可能有什么东西覆盖了这个设置。尝试在脚本的位置放置一个 phpinfo() 并检查设置:)
  • 啊,我误读了 API,在这里使用了我的域 'domain.com' 而不是路径。
  • 这让我摆脱了一段非常沮丧的时光。很好的答案,正是我在寻找 +1
猜你喜欢
  • 2012-12-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-12-16
  • 1970-01-01
  • 1970-01-01
  • 2012-04-24
相关资源
最近更新 更多