2012-02-23 146 views
0

我试图“易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); 

我是确保OpenSSL是在启用PHP配置..

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

但这PHP代码总是返回:

Failed to connect to APNS: 110 Connection timed out. 

我试图测试从外壳到苹果服务器的连接,

我已经写道:

telnet gateway.sandbox.push.apple.com 2195 

但它返回:

-bash: telnet: command not found 

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

回答

0

我看到两件可能导致你的问题的事情。首先,你需要把你的密码:

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

此外,你应该打的反馈网址:

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

(URL的沙箱部分是用于开发,删除它,如果你打你的产品实例)

希望有所帮助。

+0

什么是“your_passphrase”?这是从哪里来的?当我创建PEM文件时,我将密码留空......是这个密码短语应该是什么,还是其他的东西?谢谢 – jsherk 2012-04-09 02:20:32

+0

保留空白,如''' – 2014-12-18 04:27:46