我正在开发Android中的推送通知。在服务器端,我实现了这个代码:
$apiKey = "";
$registrationIDs = array( "" );
$message = "hello";
$url = 'https://android.googleapis.com/gcm/send';
$fields = array(
'registration_ids' => $registrationIDs,
'data' => array( "message" => $message ),
);
$headers = array(
'Authorization: key=' . $apiKey,
'Content-Type: application/json'
);
$ch = curl_init();
curl_setopt( $ch, CURLOPT_URL, $url );
curl_setopt( $ch, CURLOPT_POST, true );
curl_setopt( $ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
curl_setopt( $ch, CURLOPT_POSTFIELDS, json_encode( $fields ) );
$result = curl_exec($ch);
curl_close($ch);
echo $result;
我正在使用Xampp。第一次运行此代码浏览器时,curl上的致命错误未定义。然后在php.ini文件中我取消注释行extension = php.curl.dll并重新启动apache服务器,然后再次运行此代码,它不会给出任何错误,但不会回显结果。我是服务器端新手任何帮助将不胜感激
答案 0 :(得分:2)
要获得有关错误的更多信息,您可以使用以下代码。
$responseInfo = curl_getinfo($ch);
$header_size = curl_getinfo($ch, CURLINFO_HEADER_SIZE);
$responseHeader = substr($result, 0, $header_size);
$responseBody = substr($result, $header_size);
echo 'Header: <br>'. $responseHeader;
echo 'Body: <br>'. $responseBody;
请检查this
$responseInfo['http_code'] -> gives the http response code.
或者
如果您不确定如何调试,请使用一些可以帮助您的库。 ZendService_Google_Gcm
的快速参考