codeigniter发送空白页面

时间:2016-09-05 19:43:21

标签: php codeigniter nginx

我今天遇到了一个我无法解释的奇怪问题。 环境:

  • Ubuntu 16.04
  • Nginx 1.10 with php-fpm
  • php 7.0.8

所以我从带有apache和php5的托管服务器迁移到这个新服务器。 第一次测试成功。页面正在运行,似乎很好。

然后我遇到了问题,无法调用某些页面。 HTTP响应为200,但页面为空白。 Chrome告诉我net :: ERR_CONTENT_DECODING_FAILED

我发现,工作页面和空白页面之间的区别在于,非控制器在最后回显了json_encode();

这是我的控制者:

public function some_controller()
{
     $result = ["test" => "abcde"];
     echo json_encode($result);
}

这将以net :: ERR_CONTENT_DECODING_FAILED

结束

这是我的工作:

public function some_controller()
{
     $result = ["test" => "abcde"];
     echo json_encode($result);
     exit();
}

所以关注不清楚:

  1. 为什么我现在必须退出()我的控制器?
  2. 在传递Controller函数后CI正在做什么?
  3. 为什么使用Apache和PHP5?现在可能有什么不同?
  4. 谢谢大家

1 个答案:

答案 0 :(得分:0)

我自己发现了这个问题。 安装 php7.0-xml 后,问题就消失了。

但是有人能告诉我为什么JSON响应需要xml模块吗? 也许它不是JSON,它是需要XML模块的codeigniter(在控制器通过之后)?