使用WAMP服务器进行PHP开发。我在我的php中创建了一个cookie但找不到正在创建的cookie文件。 php.ini
读取session.save_path=C:/wamp/tmp
并且今天没有创建任何文件。代码是:
<?php
$mycookie="mycookie";
$emailAddr="abc@gmail.com";
if (!isset($_COOKIE[$mycookie]))
{
if (!setcookie($mycookie, $emailAddr, 0))
{
echo "Cannot set cookie";
}
else
echo "Cookie is set";
}
?>
我收到“Cookie已设置”消息但是检查C:/ wamp / tmp没有看到今天创建的任何cookie文件。
答案 0 :(得分:7)
Cookie会根据浏览器单独存储。他们将它们存储在自己的文件夹中。
你在php.ini中设置的是会话路径。这是保存会话的路径$_SESSION
而不是Cookie $_COOKIES
。
答案 1 :(得分:3)
您似乎混淆了cookie和会话。 Cookie存储在客户端,而会话存储在服务器端。虽然会话经常使用cookie,但它仅用于存储会话ID,但不能用于存储实际数据。
Cookie的实际存储位置取决于用户代理。大多数将它们存储在客户端文件系统中的文件中。会话的存储位置由session.save_path指定(除非您使用的是默认值以外的storage handler)。
除此之外,setcookie
总是返回 true ,除非由于HTTP头已经被发送而无法发送相应的Set-Cookie header field,因此不能再修改了。 setcookie
的返回值没有说明cookie是否被接受。
答案 2 :(得分:2)
Cookie不存储在服务器端。 Cookie的重点是将信息存储在浏览器中,以便在页面之间保持信息。如果您想要服务器端类似于cookie,您将需要使用sessions。