简体   繁体   中英

cURL is not working on live server

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 ?

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.

可能是您在服务器上设置了firewall ,从而阻止了与*:80连接-与外部服务器端口80的所有连接。

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM