加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – 如何在我的Yii2 api模块上设置HTTP标头Expires?

发布时间:2020-12-13 22:24:10 所属栏目:PHP教程 来源:网络整理
导读:我用我的init()初始化我的Api模块 public function init(){ //parent::init(); Yii::$app-request-parsers = ['application/json' = 'yiiwebJsonParser']; Yii::$app-request-enableCsrfValidation = false; Yii::$app-response-format = Response::FORMAT
我用我的init()初始化我的Api模块

public function init()
{
    //parent::init();
    Yii::$app->request->parsers = ['application/json' => 'yiiwebJsonParser'];
    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 GMT',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,time() + (60 * 60)));

我试过在我的动作上设置这个.我还想过在我的网络配置上设置响应组件过期但不知道如何输入值.当我尝试设置标题属性时给我设置只读属性错误.我需要的是为android上的我的排球请求设置缓存.如何在我的模块或应用程序上实现此目的?

解决方法

你错了,它应该是:

$headers->set('Expires',time() + (60 * 60)));

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读