Php 未设置会话cookie

Php 未设置会话cookie,php,session,cookies,Php,Session,Cookies,无法使php的$\u会话在本地计算机上运行 它在实时服务器上工作正常,但在本地机器上不工作 我在windows上尝试过apache和php,在mac上尝试过apache和php,在debian上尝试过apache和php,但都不起作用(我的live服务器也运行debian 9,与我在本地尝试的相同) 在firefox的“开发者工具>网络>标题”中,我可以看到php正在发送设置的cookie,但由于某种原因它没有被设置(存储>cookies中没有cookies,并且我的脚本在设置cookie时没有

无法使php的$\u会话在本地计算机上运行

它在实时服务器上工作正常,但在本地机器上不工作

我在windows上尝试过apache和php,在mac上尝试过apache和php,在debian上尝试过apache和php,但都不起作用(我的live服务器也运行debian 9,与我在本地尝试的相同)

在firefox的“开发者工具>网络>标题”中,我可以看到php正在发送设置的cookie,但由于某种原因它没有被设置(存储>cookies中没有cookies,并且我的脚本在设置cookie时没有正常工作)

我没有使用ssl/https,我设置了“session.cookie_secure=0和off”,但出于某种原因,这就是set cookie头的样子:“set cookie:PHPSESSID=XXXXX;path=/;HttpOnly;secure”,我认为php不应该设置安全标志,因为我在php.ini中显式禁用了它

是的,每个使用会话功能的文件中都有一个session_start()

没有任何apache/php错误,我甚至启用了xdebug

使用localhost、127.0.0.1、10.0.0.10(我的局域网ip)和自定义主机名进行测试,均无效

我没有主意了,想尽一切办法

使用PHP7.2和默认配置在实时Debian9服务器上工作

无法在具有PHP7.2和默认配置的本地Debian9服务器上运行

不适用于具有相同apache/php版本的windows

在mac上使用Apache2.4和PHP7.3不起作用,即使使用 session.cookie\u secure=0集

检查apache和php错误,没有错误

使用firefox的开发工具查看标题/cookie

检查了我的代码,确保它有session_start(),并且所有其他内容都是正确的

我甚至尝试手动将cookie的安全标志设置为false,并且在set cookie头中再次设置了“secure”,代码如下:

setcookie(“PHPSESSID”、“7nhqdim7uuu2viae7vhf9os5ue”、0、“/”、false、false);
下面是我用于测试的代码:


会话cookie需要第二级域,您不能为顶级域(TLD)(如com)设置cookie,因为这将是一个安全问题。这意味着任何带有
.com
的站点都会允许使用该cookie,这不是一件好事。为
localhost
设置cookie就像为
com
net
org

要使其正常工作,您需要为类似
localhost.com
的内容设置cookie,例如:

session_set_cookie_params(0, '/', 'localhost.com');
将条目添加到主机文件:

127.0.0.1   localhost.com
关于MacOS:

sudo vi /private/etc/hosts
在Windows上编辑此文件:

C:\Windows\System32\Drivers\etc\hosts
在Linux上:

sudo vi /etc/hosts
最后在
localhost.com
上运行应用程序,例如(不使用Apache):

然后在浏览器中也使用.com打开:

http://localhost.com/yourapp

希望这有帮助。

在第一次
if
block do
var\u dump($\u SESSION['value'])之后http://localhost.com/yourapp