【问题标题】:Nginx headers cause invalid JSON, I think我认为 Nginx 标头会导致无效的 JSON
【发布时间】:2011-03-22 22:11:17
【问题描述】:

我最近从 Lighttpd 迁移到 Nginx,虽然一切看起来都很快而且很好,但 JSON 输出无效。

至少我是这么想的,当我测试它时,JSONLint

语法错误,第 1 行出现意外的 TINVALID

当我测试我的 JSON 输出时:http://bit.ly/fLCxox

我在内部测试过var_dump(json_decode(json_encode(data)));的数据没问题

这是我的nginx.conf

任何帮助都会很棒。

谢谢,雅各布

【问题讨论】:

  • 如果您可以发布看似无效的实际 JSON,这可能会有所帮助。 (最好是有关如何生成它的更多信息。)您的 php 上游提供程序的 default_type text/html; 可能是问题所在。发布服务器发送的原始数据,让人们有机会提供帮助。
  • 这是 JSON,不是问题所在:{"error":"Invalid ID"}

标签: php json nginx gzip fastcgi


【解决方案1】:

您的 0.json 文件开头包含三个零字节。

00000000  00 00 00 7b 22 65 72 72  6f 72 22 3a 22 49 6e 76  |...{"error":"Inv|
00000010  61 6c 69 64 20 49 44 22  7d                       |alid ID"}|

【讨论】:

  • 知道如何找出发生这种情况的原因吗?
  • 似乎是 Php 输出的情况,而静态看起来很好,所以我的假设是它是由 Nginx 和 php-fpm 之间的连接引起的,因为另一台运行 Lighttpd 的服务器使用相同的代码没有没问题。
  • 这似乎与 CakePHP 相关,因为一个简单的 php 和 json 文件没有问题。
猜你喜欢
  • 2015-06-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-01-05
  • 1970-01-01
  • 2021-12-19
  • 1970-01-01
  • 2020-08-25
相关资源
最近更新 更多