PHP cookie 获取失败
服务器环境
-
php7.0
-
ubuntu 18.04
-
apache 2.4
Cookie 获取失败的原因
-
设置的 cookie 非全局访问。默认情况下 cookie 保存路径是在当前目录下,其他目录下无法访问到这个cookie,添加第四个参数
'/'
以设置 cookie 可全局访问。如:
setcookie( 'name', 'mini-geek', time() + 3600, '/' )
。 -
setcookie() 函数前面有输出。确保
setcookie()
前面不能有输出。(ps: php5.3+ 版本默认已经开启 ob 缓存,即便setcooke()
前面有输出,也会被放在 http header 后面, 所以一般在 php 5.3+ 版本这种情况导致 cookie 的可能性比较小) -
设置的 cookie 时间无效。如果设置了 cookie 的 过期时间,那么要确保这个时间不是过去的 ( 我曾经就因为没有注意而把过期时间设置为3600,导致始终读不到 cookie,正确写法是
time() + 3600
)
评论