我在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 '^]'.
答案 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)
如果您收到这样的错误“无法找到套接字传输”ssl“ - 您是否忘记启用它 当你配置PHP?“然后按照下一步
如果php没有启用ssl,那么转到php.ini并将其更改为“; extension = php_openssl.dll” “extension = php_openssl.dll”(删除分号)并保存并运行程序。
答案 2 :(得分:1)
感谢您的帮助,到目前为止我解决了这个问题。
问题是我对我的证书和根证书使用了相同的pem文件。
根证书与我自己的证书不同,在连接期间,使用了两个证书,因此我必须获得苹果推送通知的根证书。
谢谢!