/ / Zend Framework 1.10: las cookies no se almacenan - php, zend-framework, cookies, zend-http-client

Zend Framework 1.10: las cookies no se almacenan - php, zend-framework, cookies, zend-http-client

Estoy intentando hacerlo con Cookies y Zend Framework 1.10. Este es mi código:

$zendCookie = new Zend_Http_Cookie("foo", "bar", "localhost", time() + 60 * 60 * 24 * 30);

$client = new Zend_Http_Client();
$client->setCookie($zendCookie);

Pero las cookies no están almacenadas. Lo verifiqué con la extensión de Firecookie Firefox. ¿Qué está mal?

Respuestas

1 para la respuesta № 1

Tuve este mismo problema incluso usando php "s setcookie (), pero configurar el campo de dominio para que funcione es vacío. Aunque Zend_Http_Cookie () lanzará una excepción si el campo de dominio se deja vacío.

La cookie no funcionará con el host virtual de mi localhost

setcookie ( "FOO", "cookie content", 0, "/", "myProjectSiteVHost", true, true);

Configuración del campo de dominio en vacío - Cookie almacenada!

setcookie ( "FOO", "cookie content", 0, "/", "", true, true);

Documentos: setcookie ()


0 para la respuesta № 2

Localhost hace algunas cosas raras con cookies.

Me gustaría configurar un vhost con un nombre de servidor psuedo y hacer esto una entrada en su archivo de hosts y señalarlo a 127.0.0.1

ES DECIR:

<VirtualHost *:80>
ServerName test.dev
#(other required / normal items here)
</VirtualHost>

Luego en su / etc / hosts (o C: WindowsSystem32driversetchosts) Usted agregaría:

127.0.0.1        test.dev

A continuación, puede acceder a la aplicación localmente porllamando a test.dev y usaría eso en lugar de "localhost" para las cookies y no debería alterar las cookies como lo hace localhost. Puede encontrar un poco más de información sobre lo que estoy hablando con las cookies de localhost aquí.


0 para la respuesta № 3

Cookies en localhost con dominio explícito

Creo que el problema se debe a que falta el punto / parada completa antes del nombre de dominio, es decir, ".dominio.com", solo algunos navegadores excepto el dominio sin el punto inicial.