我有几个PHP文件负责存储在我的服务器上的GCM *** 作,他们似乎在他们想要的时候工作得很好,但是他们经常会返回一个错误,指出:
Curl error: Operation timed out after 0 milliseconds with 0 out of 0
bytes received
这是服务器的问题还是我的GCM代码有问题?下面是我的PHP文件:
<?PHP$message = urldecode($_POST['message']);$order = urldecode($_POST['order']);$registrationIDs = urldecode($_POST['registrationIDs']);$APIKey = "API_KEY";$tableID = urldecode($_POST['tableID']);$url = 'https://androID.GoogleAPIs.com/gcm/send';$fIElds = array( 'registration_IDs' => array($registrationIDs), 'data' => array( 'message' => $message, 'tableID' => $tableID, 'order' => $order ),);$headers = array( 'Authorization: key=' . $APIKey, 'Content-Type: application/Json');// Open connection$ch = curl_init();// Set the url, number of POST vars, POST datacurl_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_SSL_VERIFYPEER, false);curl_setopt($ch, CURLOPT_POSTFIELDS, Json_encode($fIElds));// Execute post$result = curl_exec($ch);if(curl_errno($ch)) { echo 'Curl error: ' . curl_error($ch);}// Close connectioncurl_close($ch);echo $result;?>
解决方法:
我试图使用您的代码发送推送通知,我已经实现了它.
For tests I recommend you to set the “dry_run” param. You will be sending messages to GCM and it will return it to you as a “fake” response.
现在你的问题,我已经搜索了可能发生的事情,因为看起来你有一个卷曲限制或什么,但我不是这个主题的专家所以这里有一些你可以尝试的提示:
>如果您通过浏览器运行脚本,则将set_time_limit设置为零,持续无限秒.
参数或者set_time_limit(0);
>使用此选项’CURLOPT_TIMEOUT’增加卷曲的 *** 作时间限制
curl_setopt($ch,CURLOPT_TIMEOUT,20); // 20秒
>从服务器进行无限重定向也会发生这种情况.要暂停此 *** 作,请尝试在禁用后续位置的情况下运行脚本.
curl_setopt($ch,CURLOPT_FolLOWLOCATION,false);
总结以上是内存溢出为你收集整理的php – GCM卷曲 *** 作超时全部内容,希望文章能够帮你解决php – GCM卷曲 *** 作超时所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)