测试苹果推送通知服务

时间:2012-02-23 16:14:30

标签: php apple-push-notifications

我在服务器上试过“easy-ASPN”http://www.easyapns.com ..

这是连接苹果服务器的PHP代码:

    $ctx = stream_context_create();
    stream_context_set_option($ctx, 'ssl', 'local_cert', 'apns.pem');
    $fp = stream_socket_client('ssl://gateway.push.apple.com:2195', $error, $errorString, 100, (STREAM_CLIENT_CONNECT|STREAM_CLIENT_PERSISTENT), $ctx);

我确保在php配置中启用openssl ..

服务器管理员告诉我,他打开了端口:2196,2196

但这个PHP代码总是返回:

Failed to connect to APNS: 110 Connection timed out.

我试图从shell测试与apple服务器的连接,

我写道:

telnet gateway.sandbox.push.apple.com 2195

但它又回来了:

-bash: telnet: command not found

我真的不知道如何解决这个问题...

1 个答案:

答案 0 :(得分:0)

我发现有两件事可能导致你的问题。首先,您需要发送密码:

stream_context_set_option($ctx, 'ssl', 'passphrase', 'your_passphrase');

此外,您应该点击反馈网址:

ssl://feedback.sandbox.push.apple.com:2196

(URL的沙箱部分用于dev,如果你正在使用prod实例,则将其删除)

希望有所帮助。