我需要使用 Zend Framework 3 向浏览器发送一个 cookie。
我的代码如下,但它不起作用:
$cookie = new Zend\Http\Header\SetCookie('CookieKey', $val, $time, '/', '');
$response->getHeaders()->addHeader($cookie);
让 cookie 发挥作用的正确方法是什么?
我需要使用 Zend Framework 3 向浏览器发送一个 cookie。
我的代码如下,但它不起作用:
$cookie = new Zend\Http\Header\SetCookie('CookieKey', $val, $time, '/', '');
$response->getHeaders()->addHeader($cookie);
让 cookie 发挥作用的正确方法是什么?
创建新实例时,您将 cookie 路径设置为'/'
空域并使用空域。将空字符串作为域传递可能会导致问题。''
SetCookie
第二个细节是您需要将未来的时间作为第三个 ( expires
) 参数传递。你确定你给了未来的时间吗?
看看下面的例子,它在我的 ZF3 应用程序上设置了一个 cookie,没有任何问题:
namespace MyApp\Action;
use Zend\Http\Header\SetCookie;
public function indexAction()
{
$cookie = new SetCookie('bar', 'baz', time()+7200);
$this->getResponse()->getHeaders()->addHeader($cookie);
return new ViewModel();
}