我在应用程序中有一个代码段,其域名为 http://localhost/xyz/
我正在使用代码段创建Cookie
$cookie_name = "AMCV_98DC73AE52E13F1E0A490D4C@!#$%&~|AdobeOrg";
$cookie_value = "kuchbhi";
setcookie($cookie_name, $cookie_value, time() + (86400 * 30), "/"); // 86400 = 1 day
在此之后我尝试执行session_get_cookie_params()
以使用以下代码段获取上面创建的Cookie的域详细信息
$cookieInfo = session_get_cookie_params();
echo $cookieInfo['domain'];
但是我仍然没有得到任何域名,即使在打印$ cookieInfo数组时,我也得到空数组。
请建议session_get_cookie_params()函数的确切功能..
答案 0 :(得分:2)
函数session_get_cookie_params()基于一堆php.ini文件值:
session.cookie_lifetime
session.cookie_path
session.cookie_domain
session.cookie_secure
session.cookie_httponly
您可以在php.ini文件中设置值,也可以使用以下命令在脚本开头覆盖这些值:
ini_set('session.cookie_domain', 'www.example.com');
答案 1 :(得分:1)
顾名思义和the manual明确说明,此函数收集有关会话 Cookie的信息:
会话 _get_cookie_params - 获取会话 Cookie
获取会话cookie参数。 [...] 返回包含当前会话cookie信息的数组
在其他作品中,它是一个花哨的包装器,可以在一行中读取一些PHP设置,而不是发布five calls to ini_get()
。
我怀疑你混淆了cookie和会话,并且可能认为它们是同义词。它们不是:cookie是客户端存储,会话是服务器端存储。 PHP碰巧允许(并鼓励)使用cookie来传输会话ID,告诉服务器端存储你是谁,但就是这样。将会话cookie视为打开办公室的磁卡:这不会使您的万事达卡与门有任何关系。
如果您的问题是“我如何取回我的cookie参数”,答案就是您不能。打开浏览器的开发人员工具,您将看到浏览器从不发送该信息: