http_response_code(404);是可以返回404状态的,但是如果web服务器是apache,并且在.htaccess文件中自定义了错误页,那么当在php文件中使用了http_response_code(404),虽然返回状态是404,但是错误页是不会生效的。
如果没有没有文件,那么自定义的错误页是生效的。
如果是nginx自定义错误页,那么对于http_response_code是生效的。
原因未知,可以参考https://www.icode9.com/content-1-243436.html