首页 > 解决方案 > php apache无法设置cookie

问题描述

如果没有此问题,我无法在托管其他网站的同一服务器上的新网站上成功设置 cookie。

整个文件,前后没有多余的空格

<?php
ini_set('display_errors',1);
error_reporting(E_ALL);
setcookie("test", "Hello", time()+3600);
?>

我没有收到任何反馈,错误。检查 php/apache 错误日志并没有显示任何内容。尝试了多个浏览器,但从未设置过 cookie。没有 .htaccess,apache 虚拟主机是其他站点的副本,没有任何特殊更改或任何东西。从这一点开始,我不知道要检查什么或如何调试。有任何想法吗?

正在发送来自网络选项卡的响应 cookie:

这是 setcookie 上带有路径和域的响应标头

HTTP/1.1 200 OK
Date: Fri, 15 Jun 2018 20:46:23 GMT
Server: Apache
Strict-Transport-Security: max-age=63072000; includeSubDomains
X-Frame-Options: SAMEORIGIN
Set-Cookie: test=Hello; expires=Fri, 15-Jun-2018 21:46:23 GMT; Max-Age=3600; path=/; domain=MYSITE.com;HttpOnly;Secure
Content-Length: 0
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Content-Type: text/html; charset=UTF-8

这是没有路径和域 Set-Cookie 的更改:test=Hello; 过期=格林威治标准时间 2018 年 6 月 15 日星期五 21:50:47;Max-Age=3600;HttpOnly;安全

无论哪种方式,查看为网站存储的 cookie 仍然是空白的。在代码中,我无法在第二页刷新时访问它们。

标签: phpapachecookies

解决方案


摘要 - 看起来您正在设置安全 cookie,同时访问不安全的站点。考虑将安全设置为 false:

setcookie("test", "Hello", time()+3600, "/", null, false);

推荐阅读