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

LocalhostはCookieを使って奇妙なことをします。

疑似サーバー名を使用して仮想ホストをセットアップし、これをhostsファイルのエントリにして、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を呼び出してローカルでアプリケーションにアクセスできます。これは、Cookieの「localhost」の代わりに使用するため、localhostのようにCookieを混乱させることはありません。ここで、ローカルホストCookieについて私が話していることについてもう少し詳しく知ることができます。

于 2010-08-13T15:46:22.107 に答える
0

明示的なドメインを持つローカルホスト上のCookie

問題は、ドメイン名の前に終止符/ピリオドがないためだと思います。つまり、「。domain.com」では、先頭のドットがないドメインを除いて、一部のブラウザのみが表示されます。

于 2011-02-17T20:47:00.173 に答える