PHP куки в многосерверной среде - PullRequest
1 голос
/ 09 октября 2011

Я испытываю трудности с поиском файлов cookie в среде, где URL-адрес является http // somesite.com, а запрос отправляется через приложение балансировки нагрузки и отправляется на различные серверы. Я могу установить cookie с помощью setcookie в PHP-скрипте следующим образом: setcookie ("NameTest", $ cookieText, time () + 3600, "/"); и файл cookie somesite.com создается, однако, когда я пытаюсь прочитать значения из этого файла cookie в работающей системе, я никогда не нахожу созданный файл cookie. Я знаю, что должен быть способ сделать это, но я не нашел ничего, что я мог бы использовать. Может кто-нибудь сказать мне, как выполнить эту функцию?

Это, конечно, прекрасно работает на одном сервере без процедуры балансировки нагрузки

Ответы [ 2 ]

1 голос
/ 09 октября 2011

Да, вы можете, потому что внешне клиент видит тот же IP и адрес домена.Но если вам нужно поделиться информацией о SESSION, вы должны использовать что-то вроде memcached или mysql для обмена данными сеанса между узлами.

1 голос
/ 09 октября 2011

Cookies - это циклически отключенные клиентские <-> серверы по каждому запросу.Если cookie не присутствует в последующих запросах, вам нужно выяснить, почему клиент не отправляет его.Если балансировщик нагрузки прозрачен для конечного пользователя, то не имеет значения, какой сервер обрабатывает запрос - клиент отправил бы cookie независимоТак что, если он не отправляется, то, во-первых, он не устанавливается должным образом.

...