2010-09-16 74 views
0

我的生产和本地* AMP服务器上有相同的代码。什么会导致PHP响应在开始时有一些额外的空白?

我已经创建了一个webservice,它在响应中返回JSON。

但是,在我的生产平台上,当服务响应时,我在响应开始时收到一个额外的空白(一个选项卡)。即使在删除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 
} 
+0

请发布您正在使用的代码。 – 2010-09-16 09:34:10

+0

我无法发布我正在使用的整个代码给公众,但我在这里包含了一些内容。重点是它发生在一台服务器上,但不是另一台服务器,即使代码是相同的。这使我相信它可能是某种服务器配置,而不是代码......但我不确定。 – Calvin 2010-09-16 09:39:12

+0

什么是两种不同的服务器,在操作系统的差异? – 2010-09-16 09:43:43

回答

6

我们真的不能准确地诊断,没有看到其全部的代码,但开幕<?php标记之前检查的空白文件,作为也会被发送到浏览器。我曾经发生过几次这种事情。

+0

同上,可能在<?php标记 – BeRecursive 2010-09-16 09:45:40

+4

之前有空格并检查*关闭后*和内部*所有包含的文件。 – geon 2010-09-16 09:46:07

+0

感谢您的提示 - 我浏览了所有文件,查看了开始和结束标签。没有骰子。 – Calvin 2010-09-16 10:08:02