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

Cal*_*vin 0 php

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

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

但是,在我的生产平台上,当服务响应时,我会在响应开始时获得额外的空格(选项卡).即使在删除JSON的输出后,文件的开头也有一个选项卡.如果我exit;完全从创建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
}
Run Code Online (Sandbox Code Playgroud)

Mar*_*ean 8

如果没有完整地看到代码,我们无法真正准确地诊断,但在开始<?php标记之前检查文件是否有空格,因为它也将被发送到浏览器.我已经发生了几次这种情况.

  • 还要检查*关闭后?*和里面*所有包含的*文件. (4认同)