2014-02-19 6 views
1

Я запускаю бродячий сервер на своей машине, чтобы проверить php-сторону моего веб-сайта.PHP setcookie терпит неудачу на локальном сервере dev

Я пытаюсь использовать куки-файл, чтобы запомнить вариант на сайте, однако он отказывается передавать остальную часть сайта. Я попытался указать локальный домен (test.dev), локальный IP-адрес ... ничего. На странице, которая называется после нажатия кнопки, печенье установлено:

Cookie набора страница: Индекс

array(3) { 
    ["PHPSESSID"]=> 
    string(26) "p6rpk6ct7c9clg5fdr7j8cg4v6" 
    ["ukshow"]=> 
    string(5) "hello" 
    ["__ar_v4"]=> 
    string(104) "H3ELFFCLHNBXZJDXN2KICN:20140219:54|37K3GO4OMFDVHJVEKXZ7HL:20140219:54|5YST4SB55RB5LCGWF5RBRL:20140219:54" 
} 

или любой другой страница:

array(3) { 
    ["PHPSESSID"]=> 
    string(26) "p6rpk6ct7c9clg5fdr7j8cg4v6" 
    ["ukshow"]=> 
    string(0) "" 
    ["__ar_v4"]=> 
    string(104) "H3ELFFCLHNBXZJDXN2KICN:20140219:55|37K3GO4OMFDVHJVEKXZ7HL:20140219:55|5YST4SB55RB5LCGWF5RBRL:20140219:55" 
} 

Я пробовал все сортировки укусов setcookie, от установки домена/ip, добавления точки перед ним, установки пути к /, попыток кавычек или одиночных кавычек ... партия. Ничего не работает!

Пример:

setcookie("ukshow","hello",time() + (86400 * 365),"/",".test.dev"); 

Edit: забыл добавить, что я могу видеть их хорошо в консоли разработчика в Safari & Chrome (не проверено что-нибудь еще ..)

ответ

2

Вы пробовали установив cookie для глобального домена?

setcookie("ukshow", "hello", time() + (86400 * 365), "/"); 

или

$folder = '/myfolder/'; 
setcookie("ukshow", "hello", time() + (86400 * 365), $folder); 

Это похоже на работу для меня в очень похожей среде.

+0

Как и раньше, работает на исходной странице сценария, но ничего больше. Его не в папке, все в корне («/»), например. /index.html /cookieset.php и т. д. – Coffeee

1

Исправлено. Не забудьте использовать =, чтобы найти значение! Я снова задавал значение на странице - глупо! Запомнить меня: The 3 different equals

Смежные вопросы