Php 检测使用setcookie函数发送的所有cookie

Php 检测使用setcookie函数发送的所有cookie,php,cookies,header,http-headers,Php,Cookies,Header,Http Headers,我有以下php代码: setcookie('bonjour', 'bonjour', time() + 3600); setcookie('aurevoir', 'aurevoir', time() + 3600); print_r(apache_response_headers()); print_r($_COOKIE); 其中第一次显示: Array ( [X-Powered-By] => PHP/5.5.0 [Set-Cookie] => aurevoi

我有以下php代码:

setcookie('bonjour', 'bonjour', time() + 3600); 
setcookie('aurevoir', 'aurevoir', time() + 3600);

print_r(apache_response_headers());

print_r($_COOKIE);
其中第一次显示:

Array
(
    [X-Powered-By] => PHP/5.5.0
    [Set-Cookie] => aurevoir=aurevoir; expires=Sat, 31-Aug-2013 10:27:06 GMT; Max-Age=3600
)
Array
(
)
第二点:

Array
(
    [X-Powered-By] => PHP/5.5.0
    [Set-Cookie] => aurevoir=aurevoir; expires=Sat, 31-Aug-2013 10:26:47 GMT; Max-Age=3600
)
Array
(
    [bonjour] => bonjour
    [aurevoir] => aurevoir
)
问题是,正如您所看到的,只有第二个/最后一个cookie存储在第一个数组的Set cookie中。那么,如何使用headers数组检测设置了两个cookie呢?

使用headers\u list()函数,如下所示:

<?php 
setcookie('bonjour', 'bonjour', time() + 5); 
setcookie('aurevoir', 'aurevoir', time() + 5);


var_dump(headers_list());

或者,您可以围绕setcookie函数构建一个包装器,并存储关于所设置的每个cookie的记录,但我认为前面的解决方案应该足够好。

“一旦设置了cookie,就可以在下一页加载时使用$\u cookie或$HTTP\u cookie\u VARS数组访问它们。”是的,我知道,但我无法在下一页访问,我必须访问同一页。cookies设置在浏览器端,浏览器需要告诉php设置了哪些cookies。所以你只能在第二次获得cookie的详细信息。你是对的@LucasWillems,我也测试了,第二个cookie也应该出现……事实上,我用curl返回了一个页面发送的标题,我想检测这个页面设置的cookie。
array (size=3)
  0 => string 'X-Powered-By: PHP/5.4.12' (length=24)
  1 => string 'Set-Cookie: bonjour=bonjour; expires=Sat, 31-Aug-2013 09:47:48 GMT' (length=66)
  2 => string 'Set-Cookie: aurevoir=aurevoir; expires=Sat, 31-Aug-2013 09:47:48 GMT' (length=68)