什么会导致PHP响应在开始时有一些额外的空格?

什么会导致PHP响应在开始时有一些额外的空格?,php,Php,我的生产服务器和本地*AMP服务器上有相同的代码 我创建了一个在响应中返回JSON的Web服务 然而,在我的生产平台上,当服务响应时,我会在响应的开始处得到一个额外的空白(一个标签)。即使删除了JSON的输出,文件的开头也有一个选项卡。如果我退出完全从创建JSON响应的脚本开始,空白就消失了。我看不到任何其他地方会添加额外的空白,而且它也不会添加到我的开发沙箱中 有什么我遗漏的吗?有人有过这个问题吗 以下是我正在使用的一些代码: require_once('includes/config.php

我的生产服务器和本地*AMP服务器上有相同的代码

我创建了一个在响应中返回JSON的Web服务

然而,在我的生产平台上,当服务响应时,我会在响应的开始处得到一个额外的空白(一个标签)。即使删除了JSON的输出,文件的开头也有一个选项卡。如果我
退出
完全从创建JSON响应的脚本开始,空白就消失了。我看不到任何其他地方会添加额外的空白,而且它也不会添加到我的开发沙箱中

有什么我遗漏的吗?有人有过这个问题吗

以下是我正在使用的一些代码:

require_once('includes/config.php');

function checkIfExists($parameterName) {
    if (!isset($_REQUEST[$parameterName])) {
        throw new AppException("Missing parameter '$parameterName'");
    }

    if (!$value = trim($_REQUEST[$parameterName])) {
        throw new AppException("Missing parameter '$parameterName'");
    }

    return $value;
}

try {
    //my try block, this is where i create an array and then echo out a json_encoded string
} catch (AppException $e) {
    //my catch block here
}

如果不查看完整的代码,我们无法真正准确地进行诊断,但是在打开
之前,请检查文件中是否有空白。请发布您正在使用的代码。我无法将我正在使用的全部代码发布给公众,但我在这里包含了一部分代码。关键是,它发生在一台服务器上,而不是另一台服务器上,即使代码是相同的。这让我相信这可能是某种服务器配置,而不是代码…但我不确定。这两种不同的服务器是什么,在操作系统上的区别?OSX本地服务器,Ubuntu 10.04 LTS 64位产品同上,可能之前的空白也会在结束后检查?>和所有包含的文件中。谢谢提示--我已经检查了所有文件,检查了开始和结束标记。不,事实上,我错了。服务器上有一个不受版本控制的文件,该文件在关闭
?>
标记后有一个选项卡空间。案子解决了!谢谢大家!含糖的很高兴你发现了问题并解决了!