当前位置:Gxlcms > PHP教程 > nginx+php7.0返回状态码永远是200

nginx+php7.0返回状态码永远是200

时间:2021-07-01 10:21:17 帮助过:28人阅读

在windows上配置好了nginx+php的环境
但是在php中通过

header('http/1.1 403 Forbidden');

来尝试返回403缺没用,看浏览器接收到header,状态码却是200。再尝试了

http_response_code(403);

或者laravel的

Response::json($res,403);

全部都无效,永永远远地返回200的状态码?这是怎么回事?怎么才可以改变状态码?

回复内容:

在windows上配置好了nginx+php的环境
但是在php中通过

header('http/1.1 403 Forbidden');

来尝试返回403缺没用,看浏览器接收到header,状态码却是200。再尝试了

http_response_code(403);

或者laravel的

Response::json($res,403);

全部都无效,永永远远地返回200的状态码?这是怎么回事?怎么才可以改变状态码?

LZ你好,我刚刚试过我的环境,没问题,估计是你Laravel中调错了。

实验1:

//test.php

浏览器测试:

实验2:
在Laravel的IndexController.php中新建test动作

public function test(){
        return (new Response('页面禁止访问', 403))->header('Content-Type', 'text/html');
    } 

浏览器测试:

把php.ini里面的

cgi.rfc2616_headers = 1;

改成

cgi.rfc2616_headers = 0;

人气教程排行