2010-01-29 89 views
2

我无法使用$ _COOKIE ['mycookie']读取cookie。我在Linux上使用PHP-Apache。有没有在php.ini或httpd.conf中激活cookie。无法在php中读取cookie

谢谢

+0

如果您使用的是适当的旧版本的PHP,您可以尝试使用$ HTTP_COOKIE_VARS,但它的最l可能是你的variable_order设置。 – robbo 2010-01-29 04:59:18

回答

7

您是否正确设置了Cookie?

<?php 
$value = 'something from somewhere'; 

setcookie("TestCookie", $value); 
setcookie("TestCookie", $value, time()+3600); /* expire in 1 hour */ 
setcookie("TestCookie", $value, time()+3600, "/~rasmus/", ".example.com", 1); 
?> 
<?php 
// Print an individual cookie 
echo $_COOKIE["TestCookie"]; 
echo $HTTP_COOKIE_VARS["TestCookie"]; 

// Another way to debug/test is to view all cookies 
print_r($_COOKIE); 
?> 
+0

谢谢。是的,cookie设置正确。 – kobra 2010-01-29 04:40:53

0

http://php.net/manual/en/ini.core.php

检查在php.ini您gpc_order设置,确保Cookie不会被覆盖。

+0

谢谢。目前的订单是“EGPCS”。是对的吗? – kobra 2010-01-29 05:02:46

+0

默认实际上是根据网站的“GPC”。 – 2010-01-29 05:06:56

0

这个前提假设浏览器在您期望的时候返回cookie。有MSIE(iehttpheaders)和Firefox(篡改数据,网页开发工具栏等等)的工具,可以让你看到实际发送/接收的HTTP头。或者,您可以使用wireshark等窃听工具。

C.

4

虽然我还没有发现这方面的任何具体文件,似乎饼干只能从目录,子目录,从文件,其中写

所以,如果你

/var/www/html/mySystem/action/writeCookie.php 

写一个cookie,你将无法从

/var/www/html/mySystem/view/readCookie.php 

阅读它作为一个解决方案,我把在顶级目录中的所有我的cookie写入文件,一些如:

/var/www/html/mySystem/writeCookie.php