在 Centos 服务器和本地得到空白响应,它工作正常。我也尝试禁用 centos 上的防火墙,然后重试,但仍然得到空白响应。
$api_key = 'api_key';
$fields = array (
'registration_ids' => array (
$device_id
),
'data' => array (
"message" => $message
)
);
$headers = array(
'Content-Type:application/json',
'Authorization:key='.$api_key
);
$url = 'https://fcm.googleapis.com/fcm/send';
$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_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($fields));
$result = curl_exec($ch);
我能够通过执行以下命令来解决此错误。大多数时候,我们面对的是我们的服务器上是否启用了 SELinux。curl 请求被 SELinux 阻止。 塞布尔 -P httpd_can_network_connect 上
之后重新启动服务器。
sudo systemctl restart httpd