我在服务器上试过“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
我真的不知道如何解决这个问题...
答案 0 :(得分:0)
我发现有两件事可能导致你的问题。首先,您需要发送密码:
stream_context_set_option($ctx, 'ssl', 'passphrase', 'your_passphrase');
此外,您应该点击反馈网址:
ssl://feedback.sandbox.push.apple.com:2196
(URL的沙箱部分用于dev,如果你正在使用prod实例,则将其删除)
希望有所帮助。