【问题标题】:Symfony 2.5 server returns 500 statusSymfony 2.5 服务器返回 500 状态
【发布时间】:2014-09-15 13:59:01
【问题描述】:

当我向使用 Symfony 2.5 编写的 API 发出请求时。我正在使用 POST 方法发送表单数据,并且在我正在做的控制器中

$params = json_decode($request->getContent(), true);

如果我这样做了

var_dump($params);

如果我在做,我可以在控制台中看到所有内容

console.log(data)

但如果我尝试这样做:

array_keys($params)

服务器返回一个 500 状态码和错误:

XMLHttpRequest cannot load http://host.loc/app_dev.php/posts. Invalid HTTP status code 500 

【问题讨论】:

  • 你检查过你的错误日志吗? app/logs/dev.log 和您的网络服务器的错误日志中都可能有消息

标签: php ajax symfony


【解决方案1】:

如果出现完全错误,您总是会收到 500 错误。

例如甚至在 twig 中使用 dump() - 这在生产中是不允许的

1) 在 /app_dev.php/[page] 中尝试相同的页面 - 启用调试,这应该会给你很多关于错误的信息

2) 如上所述查看正确的日志文件/app/logs/

我猜你在一个空对象上调用 getContent() ;-)

【讨论】:

  • 我不使用 Twig,我使用的是 angular。但这没关系。当我在做 var_dump($params);它返回我的参数数组,但之后如果我执行 array_keys($params) 返回错误。在 dev.log 文件中,我发现了这个警告:array_keys() 期望参数 1 是数组,在中给出 null 但我只是在 var_dump($params) 之后这样做,看来我的参数已经消失了
  • var_dump 是否确实表明 $params 是一个数组 ()?你确定你在 array_keys() 中没有 $param 而不是 $params 吗?
  • 我确定) var_dump($params); array_keys($params);
  • 在 var_dump 之前我正在这样做 $params = json_decode($request->getContent(), true);
  • 我不知道为什么 array_keys() 取空值,因为在 var_dump 上面的 sting 中,$params 没有任何错误。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-09-08
  • 1970-01-01
  • 1970-01-01
  • 2014-05-17
  • 2017-12-13
  • 1970-01-01
相关资源
最近更新 更多