doulipi3742 2016-06-08 11:34
浏览 74

cURL无法在实时服务器上运行

I am trying to send push notification in IOS using PHP and cURL but curl is not working on my live server although curl extension is enabled on server here below is my notification file curl code!

<?php

error_reporting(E_ALL);
$message = "Test Notifcation";
$regId = $_REQUEST['device_id'];

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://examplemyserver.com/api/push.php");
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER["HTTP_USER_AGENT"]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_VERBOSE, true);
$data = array(
        'deviceToken' => $regId,
        'title' => "send_notification",                 
        'message' => $message,
        'notification_id' => "test",
        'notification_title' => "test1",
        'notification_description' => "lorem",          
        'sent_date' => strtotime(date("Y-m-d H:i:s"))
);  


curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
var_dump(curl_getinfo($ch));
print_r(curl_error($ch));
$output = curl_exec($ch);       
echo 'Curl error: ' . curl_error($ch);
curl_close($ch);
print_r($output);

?> 

whenever i try to run notification file with above code its took more then 30 second and display below error :

array(26) {
  ["url"]=>
  string(50) "http://examplemyserver.com/api/push.php"
  ["content_type"]=>
  NULL
  ["http_code"]=>
  int(0)
  ["header_size"]=>
  int(0)
  ["request_size"]=>
  int(0)
  ["filetime"]=>
  int(0)
  ["ssl_verify_result"]=>
  int(0)
  ["redirect_count"]=>
  int(0)
  ["total_time"]=>
  float(0)
  ["namelookup_time"]=>
  float(0)
  ["connect_time"]=>
  float(0)
  ["pretransfer_time"]=>
  float(0)
  ["size_upload"]=>
  float(0)
  ["size_download"]=>
  float(0)
  ["speed_download"]=>
  float(0)
  ["speed_upload"]=>
  float(0)
  ["download_content_length"]=>
  float(-1)
  ["upload_content_length"]=>
  float(-1)
  ["starttransfer_time"]=>
  float(0)
  ["redirect_time"]=>
  float(0)
  ["redirect_url"]=>
  string(0) ""
  ["primary_ip"]=>
  string(0) ""
  ["certinfo"]=>
  array(0) {
  }
  ["primary_port"]=>
  int(0)
  ["local_ip"]=>
  string(0) ""
  ["local_port"]=>
  int(0)
}

Curl error:

Failed to connect to examplemyserver.com port 80: Connection refused

Can you please suggest me what is the issue and what have I changed in server configuration ?

  • 写回答

2条回答 默认 最新

  • dongxing6802 2016-06-08 12:03
    关注

    Try adding this line

    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);


    before


    var_dump(curl_getinfo($ch));

    If it still doesn't works, then make sure your url is correct.

    评论

报告相同问题?