我使用的相同PHP脚本可以很好地处理域网站上的会话,例如 example.com 但是当它在具有任意HTTP端口号的裸IP地址网站上上传和访问时就不行了,如下所示:
111.222.333.444:5566
变量可以设置为 $_SESSION,可以在同一个 PHP 请求中访问,但它们在下一页加载时消失了。
试过这个:
session_set_cookie_params(
0,
'/',
'111.222.333.444:5566'
);
session_start();
但它不起作用。还检查了 phpinfo() 并且启用了裸 IP 站点的会话。我的浏览器在运行两个测试时都支持 cookie。
这很奇怪。这里可能出了什么问题?PHP 会话是否意味着不保留在具有异国情调的 HTTP 端口的裸 IP 站点上?
Cookie 的要求之一是:
字符串是主机名(即,不是 IP 地址)。
您不能将 Cookie 与 IP 地址相关联,只能与主机名相关联。
PHP 会话依赖于会话 cookie 才能工作。