如何在zend框架中设置cookie?

Posted

技术标签:

【中文标题】如何在zend框架中设置cookie?【英文标题】:how to set cookie in zend framework? 【发布时间】:2012-03-05 19:29:11 【问题描述】:

我正在尝试使用 Zend Framework 设置 cookie,但我不明白它是如何工作的。

$cookie = md5("_somerandomstring_");

Zend_Loader::loadClass("Zend_Http_Client");

require_once "Zend/Http/Cookie.php";

$client = new Zend_Http_Client();

$cookie = new Zend_Http_Cookie('foo', $cookie, '.mydomain.com', time()+7200, '/path');

$client->setCookieJar();
$client->setCookie($cookie);

当我在localhost 上运行我的网站时,如何设置.mydomain.com

【问题讨论】:

你的问题是什么? $cookie = new Zend_Http_Cookie('foo', $cookie, '.mydomain.com', time()+7200, '/path'); 是正确的。 很难回答你的非问题。怎么了?是不是不知道怎么找回cookies? 但我在本地主机上工作,所以我如何设置域名?请帮帮我 感谢您的回复。我在 localhost 上运行我的项目,那么如何在 Zend_Http_Cookies() 的第三个参数中设置域名? 【参考方案1】:

您可以将域添加为application/configs/application.ini 中特定于环境的配置条目。

[production]
cookieDomain = "example.com"

[development:production]
cookieDomain = "localhost"

然后将该域用作Zend_Http_Cookie 构造函数中的第三个参数。

这样,在开发模式下运行时,您可以将域设置为“localhost”,而在生产环境中运行时,您可以将其设置为“example.com”。

注意:我仍然会使用一个虚拟主机——命名为“example.local”——在本地以开发模式运行。例如,如果您正在使用“localhost”开发两个不同的项目,那么您为该单个域上的这两个项目设置的 cookie 可能会出现名称冲突。

【讨论】:

以上是关于如何在zend框架中设置cookie?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 NestJS 中设置仅 HTTP cookie

如何在 Zend Framework 2 中设置第一个应用程序

如何在禁用布局时在引导程序中设置的 Zend 控制器中回显头部链接

如何在 ApplicationController 中设置 cookie?

如何在 Wordpress 中设置 cookie

如何在 Graphene Python 突变中设置 cookie?