我收到一个错误,如使用APNS连接111连接拒绝php推送通知失败。 它在本地服务器上工作正常但不能在GoDaddy共享服务器上运行。请找到我的Php代码。
$path_pem_file="http://dummy.com/uploads/app/1.pem";
// this is the pass phrase you defined when creating the key
$passphrase = '';
// this is where you can customize your notification
$payload = '{"aps":{"alert":"message","sound":"default"}}';
// start to create connection
$ctx = stream_context_create();
stream_context_set_option($ctx, 'ssl', 'local_cert', $path_pem_file);
stream_context_set_option($ctx, 'ssl', 'passphrase', $passphrase);
$fp = stream_socket_client('ssl://gateway.sandbox.push.apple.com:2195', $err, $errstr, 60, STREAM_CLIENT_CONNECT|STREAM_CLIENT_PERSISTENT, $ctx);
// Build the binary notification
$msg = chr(0) . pack('n', 32) . pack('H*', 'Device token here..') . pack('n', strlen($payload)) . $payload;
// Send it to the server
$result = fwrite($fp, $msg, strlen($msg));
if ($fp) { fclose($fp);}
答案 0 :(得分:4)
您需要在服务器上打开以下PORT才能使用Apple APN
2195
2196
据我所知,GoDaddy不会在共享主机上为您打开此端口,您必须使用专用服务器或VPS。
答案 1 :(得分:1)
如果您使用 GoDaddy 虚拟主机,他们将无法打开端口以发送推送。如果您使用的是GoDaddy虚拟专用服务器,则可以调用它们并解锁端口。
您需要选择专用主机。 请查看以下网址,这可能会对您有所帮助: http://www.buzztouch.com/forum/thread.php?tid=b580c417cbbc86eb9575ea0¤tpage=1