2016-11-14 78 views
0

我有设置cookie的代码,在localhost中运行良好,但在我将其传输到服务器时没有。需要额外的设置?yii2 cookie设置在本地主机但不在活动服务器

public function setLangCookie() 
{ 
    if(Yii::$app->getRequest()->getCookies()->has('lang')) { 
     Yii::$app->language = Yii::$app->getRequest()->getCookies()->getValue('lang'); 
    }else 
    { 
     $cookie = Yii::$app->response->cookies; 
     $cookie = new yii\web\Cookie([ 
      'name'=>'lang', 
      'value'=>'en',   
     ]); 

     Yii::$app->getResponse()->getCookies()->add($cookie); 
    } 

} 

回答

0

一些到期时间将是很好的,否则的cookie会一直持续到浏览器关闭:

'expire' => time() + 60 * 60 * 24 * 30, // 30 days 

如果你需要通过HTTPS发送的cookie,你可以添加此可选:

'secure' => true, 
相关问题