当我尝试发送推送通知时,我收到此错误:“连接被拒绝”,但我不知道为什么...我已将我的 apns-dev.pem 上传到同一目录以及根目录中目录,但这也不起作用。
<?php
$payload['aps'] = array('alert' => 'This is the alert text', 'badge' => 1, 'sound' => 'default');
$payload = json_encode($payload);
$apnsHost = 'gateway.sandbox.push.apple.com';
$apnsPort = 2195;
$apnsCert = 'apns-dev.pem';
$apnsPass = 'secret';
$streamContext = stream_context_create();
stream_context_set_option($streamContext, 'ssl', 'local_cert', $apnsCert);
stream_context_set_option($streamContext, 'ssl', 'passphrase', $apnsPass);
$apns = stream_socket_client('ssl://' . $apnsHost . ':' . $apnsPort, $error, $errorString, 60, STREAM_CLIENT_CONNECT, $streamContext);
if (!$apns) {
echo "Error: $errorString ($error)";
}
// Do this for each
$deviceToken = '00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000';
$apnsMessage = chr(0) . chr(0) . chr(32) . pack('H*', str_replace(' ', '', $deviceToken)) . chr(0) . chr(strlen($payload)) . $payload;
fwrite($apns, $apnsMessage);
// End do
socket_close($apns);
fclose($apns);
?>
有谁知道我做错了什么?当我删除密码短语并且不发送它时,它也不起作用...
最佳答案
确保传出端口 2195 已打开。这将在您的防火墙配置中。
关于php - 推送通知 (iPhone) 给出 "111 Connection refused",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1444753/