我正在使用
public function setCookie() {
$value = $this->info('id').':'.$this->info('salt');
//$value == '1:0842d579c6c9f08401d7204240d06930'
$expire = (time()+((3600*24)*365));
return setcookie("remember", $value, $expire);
}
并且它返回true,
但是当我在下一页打印出$_COOKIE
时,唯一的cookie集就是php sess id。
为什么不设置?
<小时/> 备注
答案 0 :(得分:2)
bool setcookie(string $ name [, string $ value [,int $ expire = 0 [, string $ path [,string $ domain [,bool $ secure = false [,bool $ httponly = false]]]]]])
来自setcookie
手册页。
尝试设置域名和路径值,看看是否有效,IE:
setcookie("remember", $value, $expire, '.domain.com', '/');
修改的
如果您正在使用localhost,请在此处获取更多信息:
来源:http://www.aeonity.com/frost/php-setcookie-localhost-apache
setcookie("username", "George", false, "/", false);
你会使用那个版本。我不完全确定为什么localhost需要工作。更好的方法是在apache中设置虚拟主机,然后修改hosts
文件以添加将vhost设置为ServerName
的内容。这将避免您必须修改setcookie
函数以使其工作,因此当您推送到临时/生产时,您不必担心黑客攻击。