如何追踪500内部服务器错误的原因?

Lio*_*ior 5 facebook facebook-graph-api

我正在尝试使用FB的官方PHP SDK执行以下操作:

$facebook->api(
'/me/feed',
'POST',
array(
    'link' => 'test',
    'message' => 'test'
)
Run Code Online (Sandbox Code Playgroud)

)

不幸的是,服务器(不是Facebook!)返回500错误.

请求通过,状态被发布,但我的服务器返回错误.

我的问题是,我如何找出它的原因是什么?

oka*_*ics 5

500通常是"内部服务器错误".

如果你从你的facebook api电话回来500,那么它们可能会出现问题.

然后,你的HTTP请求可能有点关闭,fb服务器"嗯,什么?" 并发送给你一个500,因为它无法解释问题.

我记得很多年前fb api在出现问题时返回了大多数"未知错误"代码 - 从那时起就没有触及那个api.希望你没有遇到同样的问题.

要真正解决问题,您需要:

A)捕获您的HTTP请求和响应,包括标头,将其与成功的api调用进行比较,并在需要时进行更改.B)捕获facebook SDK抛出的任何异常.

选项A将始终有效,但选项B可能更快.

退房: php例外

编辑:要查看在您的服务器上导致500错误的原因,请查看您的apache错误日志.

你也可以用

error_reporting(E_ALL);
Run Code Online (Sandbox Code Playgroud)

排除任何PHP错误.