0

我正在尝试使用 Cookies 和 Zend Framework 1.10。这是我的代码:

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

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

但 cookie 不会被存储。我用 Firecookie Firefox 的扩展检查了它。怎么了?

4

3 回答 3

1

即使使用 php 的 setcookie(),我也遇到了同样的问题,但是将域字段设置为空有效。虽然如果域字段为空,Zend_Http_Cookie() 会抛出异常。

Cookie 不适用于我的本地主机的虚拟主机

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

将域字段设置为空 - Cookie 已存储!

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

文档:setcookie()

于 2010-08-14T00:51:10.387 回答
0

本地主机用 cookie 做了一些奇怪的事情。

我会设置一个带有伪服务器名称的虚拟主机,并将其作为主机文件中的条目并将其指向127.0.0.1

IE:

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

然后在您的 /etc/hosts(或 C:\Windows\System32\drivers\etc\hosts)中添加:

127.0.0.1        test.dev

然后,您可以通过调用 test.dev 在本地访问应用程序,并且您可以使用它来代替“localhost”作为 cookie,并且它不应该像 localhost 那样与 cookie 混淆。你可以在这里找到更多关于我所说的 localhost cookie 的信息

于 2010-08-13T15:46:22.107 回答
0

本地主机上具有显式域的 Cookie

我认为问题是因为在域名之前缺少句号/句点,即“.domain.com”只有一些浏览器会除了没有前导点的域。

于 2011-02-17T20:47:00.173 回答