我成功地运行在我的MacBook空气APNS代码,但事实certificate,我不能在我的其他电脑运行它:
我检查了这些是相同的: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 '^]'.
在MAC的情况下,(内置的服务器使用终端工作正常,但不是通过浏览器,对我来说,所以我安装了MAMP。)
1.进入—> / Library / Webserver / Documents / —-复制php和ckdev。 在这里的文件。
2转到终端 – > $打开/私人/ etc – >去 – > apache2>原件> httpd.config文件 – > **“#Loadmodulee php5_module libexec / apache2 / libphp5.so” ,删除“ # “(也许,你将不得不改变权限也!)
然后转到浏览器并检查 – > localhost / yourPhpFile.php
在Windows系统的情况下 ,
1.安装WAMP ,
2.goto php.ini文件—>搜索这个“ ; extension = php_openssl.dll ”行并删除分号“ ; ”。
3.从右下角跳转到WAMP图标PHP> PHP扩展> select php_openssl ..
就是这样。希望这可以帮助更多的求职者。
如果你得到这样的错误“无法找到套接字传输”ssl“ – 你忘了配置PHP时启用它? 然后按照下一步
如果php没有启用ssl,那么转到php.ini并将其更改为“; extension = php_openssl.dll”“extension = php_openssl.dll”(删除分号)并保存并运行该程序。
感谢您的帮助,到目前为止我解决了这个问题。
问题是我用我的证书和根证书相同的pem文件。
有一个根证书是不同于我自己的证书,在连接,这两个证书使用,所以我必须得到苹果推送通知的根证书。
谢谢!