PHP header()函数在错误日志中创建一个条目

时间:2015-07-14 18:22:16

标签: php http-response-codes

我正在制作API。

我必须显示错误处理。如果未获取任何请求或DB中没有任何请求或任何其他错误,则错误应该伴随json_encode字符串,并且响应头中应存在HTTP错误代码。

由于PHP 5.3没有http_response_code我使用了PHP documentation page's第一条评论所写的自定义函数。

问题在于,当我执行像http_response_code(405)这样的函数时,它不是在头文件中给出响应代码,而是在php错误日志中创建一个条目。

从上面给出的函数内部调用

header('HTTP/1.0 405 Method Not Allowed'),这会产生PHP错误日志条目。

为什么会这样?当我使用POSTMAN进行API调用时,为什么在标题中没有获得HTTP响应代码

修改

错误日志

中显示错误
  

[Tue Jul 14 23:40:07 2015] [error] [client 127.0.0.1] PHP警告:file_get_contents(localhost / APICall_2.php?ip = 127.0.0.1):无法打开流:HTTP请求失败!第31行的API_2.php中的HTTP / 1.0 405方法不允许\ r \ n

1 个答案:

答案 0 :(得分:0)

请记住,在发送任何正文之前,必须在服务器端设置response_code并且必须设置 。服务器access.log将记录405但没有文本。

如果在设置response_code之前允许任何字节进入输出缓冲区,则error.log会这样说。您还可以配置php.ini来创建一个php_error.log文件以帮助调试。

窗口:    error_log = c:\ apache \ apache2.4 \ logs \ php_errors.log

Linux的    error_log = /apache/apache2.4/logs/php_errors.log