【问题标题】:PHP: Malformed headerPHP:格式错误的标头
【发布时间】:2011-05-23 21:48:36
【问题描述】:

有人能解释一下这个 PHP 代码有什么问题吗? (PHP 版本 5.3.5)

<?php 
    header('Bad Request', true, 400);
    exit;

我得到状态 500 而不是 400。在 apache 错误日志中我得到

来自脚本的格式错误的标头。错误的标头=错误的请求:listener.php

我在这里做错了什么?我误会the docs了吗?

【问题讨论】:

    标签: php http-headers bad-request


    【解决方案1】:

    你必须写:

    header('HTTP/1.0 400 Bad Request', true, 400);
    

    【讨论】:

    • 谢谢!为什么它不能自己解决这个问题... sigh
    • 我发现您并不真的需要 HTTP 响应代码的两个可选参数 - header('HTTP/1.0 400 Bad Request') 也可以。
    • @HorusKol,是的,但我必须说我觉得这很愚蠢。状态码是唯一需要的。 PHP 不应该知道正确的文本和东西本身吗?
    • "强制HTTP响应码为指定值。注意这个参数只有在字符串不为空时才有效。" php.net/manual/en/function.header.php
    猜你喜欢
    • 2014-05-21
    • 2011-06-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多