2015-10-13 46 views
4

我初始化我的API模塊上我init()類此如何在我的Yii2 api模塊上設置HTTP標頭Expires?

public function init() 
{ 
    //parent::init(); 
    Yii::$app->request->parsers = ['application/json' => 'yii\web\JsonParser']; 
    Yii::$app->request->enableCsrfValidation = false; 
    Yii::$app->response->format = Response::FORMAT_JSON; 
    $headers = Yii::$app->response->headers; 
    $headers->set('Expires', gmdate('D, d M Y H:i:s \G\M\T', time() + (60 * 60))); 
    Yii::$app->user->enableSession = false; 
    Yii::$app->user->loginUrl = null; 
} 

這仍然給我

Expires → Thu, 19 Nov 1981 08:52:00 GMT 

編輯:我一直在使用PHP以下方法嘗試頭部和它的作品。將應用程序類型設置爲JSON也僅在直接訪問標題時才起作用。

header("Pragma: cache"); 
header("Content-Type: application/json"); 
header('Expires: '.gmdate('D, d M Y H:i:s \G\M\T', time() + (60 * 60))); 

我試着在我的動作上設置這個。我也想過在我的web配置中設置響應組件Expires,但不知道如何輸入值。當我嘗試設置標題屬性是給我設置只讀屬性錯誤。我需要的是設置緩存響應我的凌亂的請求在Android上。我如何在我的模塊或我的應用程序上實現此目的?

回答

0

你錯了,應該是:

$headers->set('Expires', gmdate('D, d M Y H:i:s \G\M\T', time() + (60 * 60))); 
相關問題