Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/267.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 无法连接到';ssl://gateway.sandbox.push.apple.com:2195'_Php_Apache_Openssl_Apple Push Notifications - Fatal编程技术网

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

Php 无法连接到';ssl://gateway.sandbox.push.apple.com:2195',php,apache,openssl,apple-push-notifications,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可能有原因,但我检

我在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 '^]'.
  • 如果您遇到这样的错误“找不到套接字传输”ssl–您是否忘记启用它 配置PHP时,请执行下一步

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


  • 谢谢你的帮助,到目前为止我解决了这个问题

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

    有一个根证书不同于我自己的证书,在连接过程中,两个证书都被使用,所以我必须获得苹果推送通知的根证书


    谢谢

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

    1.转到-->/Library/WebServer/Documents/----在此处复制phpckdev.文件

    2转到终端-->$open/private/etc-->转到-->apache2>originals>httpd.config文件--> **“#LoadModule php5_module libexec/apache2/libphp5.so”,删除“#”。(也许您还需要更改权限!)

    然后转到浏览器并检查-->localhost/yourphfile.php

    如果是Windows系统

    1.安装WAMP

    2.gotophp.ini文件--->搜索此“;extension=php_openssl.dll”行并删除分号“

    3.单击右下角的WAMP图标转到PHP>PHP扩展>选择PHP\u openssl


    就是这样。希望这可以帮助更多的搜索者。

    我已经更新了我的描述,.pem文件是相同的,它会导致问题吗?在php信息中,有:openssl openssl支持openssl库版本openssl 1.0.1c 2012年5月10日openssl头版本openssl 0.9.8x 2012年5月10日有什么方法吗?如果你想了解更多信息,请让我找到~我真的很想解决这个问题。我也遇到了同样的问题。你能分享更多关于“根证书”和“我的证书”的信息吗?我上传了推送通知的生产和开发PEM文件。我的mac上没有web服务器文件夹