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.