无法连接到' ssl://gateway.sandbox.push.apple.com:2195'

时间:2013-04-17 12:25:42

标签: php apache openssl apple-push-notifications

我在macbook air中成功运行了APNS代码,但事实证明我无法在其他计算机上运行它:

我检查过这些是一样的: 1.pem文件(具体) 2.程序

计算机无法正常工作:

支持Windows 7,XAMPP,OpenSSL,无防火墙

打开了2195和2196的EC2 Linux服务器

导致我在php代码中出现此错误的其他问题可能是什么?

Unable to connect to 'ssl://gateway.sandbox.push.apple.com:2195'

我知道可能是因为没有打开SSL,但是我检查了phpInfo(),它应该是正确的。

openssl 

OpenSSL support enabled 
OpenSSL Library Version OpenSSL 1.0.1c 10 May 2012 
OpenSSL Header Version  OpenSSL 0.9.8x

我在EC2服务器上试过telnet,它给出了:

telnet gateway.push.apple.com 2195
Trying 17.149.36.239...
Connected to gateway.push-apple.com.akadns.net.
Escape character is '^]'.

3 个答案:

答案 0 :(得分:2)

如果 MAC , (内置服务器使用终端工作正常但不通过浏览器,对我来说,所以我安装了MAMP。)

1.转到---> / Library / WebServer / Documents / ----在此复制 php ckdev。pem 文件。

2转到终端 - > $ open / private / etc - >转到---> apache2>原件> httpd.config文件 - > **" #LoadModule php5_module libexec / apache2 / libphp5.so" ,删除" " ..(也许,你必须也改变了许可..!)

然后转到浏览器并检查 - >本地主机/ yourPhpFile.php

如果是 Windows系统

1.安装 WAMP

2.goto php.ini 文件--->搜索此内容" ; extension = php_openssl.dll "排队并删除分号" ; "。

3.从右下角转到WAMP图标转到 PHP> PHP Extensions>选择php_openssl ..

这就是......希望这可以帮助更多的寻求者。

答案 1 :(得分:1)

  1. 如果您收到这样的错误“无法找到套接字传输”ssl“ - 您是否忘记启用它 当你配置PHP?“然后按照下一步

  2. 如果php没有启用ssl,那么转到php.ini并将其更改为“; extension = php_openssl.dll” “extension = php_openssl.dll”(删除分号)并保存并运行程序。

答案 2 :(得分:1)

感谢您的帮助,到目前为止我解决了这个问题。

问题是我对我的证书和根证书使用了相同的pem文件。

根证书与我自己的证书不同,在连接期间,使用了两个证书,因此我必须获得苹果推送通知的根证书。

谢谢!