代码如下:
<?php
header('Location: http://www.google.com', TRUE, 200);
在apache+php中运行时,http_response_code为200,在nginx + php-fpm中运行时,http_response_code为302。
nginx + php-fpm 会发生什么?
最佳答案
阅读nginx的源代码后,我发现在/src/http/modules/ngx_http_fastcgi_module.c,第1564行,有一些关于将状态码设置为302的代码。
header('位置:http://www.google.com', TRUE, 200);
响应代码200不会通过fpm传递给nginx,因此响应代码将设置为302
关于nginx - 当 php-fpm 和 nginx 为 200 时,php header 位置自动将 http_response_code 设置为 302?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20121769/