自从昨晚我一直在寻找答案,但它似乎找不到任何人有完全相同的问题。类似但不是。我试图通过stream_socket_client连接到Apples APNS。我在LAMP环境中工作并打开端口2195。我的errorString说(权限被拒绝)。我的麻烦是找到发布了关于这个错误的很多信息的人。我从错误报告得到警告警告:stream_socket_client():无法连接到SSL://gateway.sandbox.push.apple.com:2195(拒绝)PHP IOS推送通知(权限被拒绝)
至于好东东。我写了一个类来处理这个推送通知。这是设置连接的不受干扰的方法。
public function setConnection() {
$apnsHost = 'gateway.sandbox.push.apple.com';
$apnsPort = 2195;
$apnsCert = '../model/apns-dev.pem';
$streamContext = stream_context_create();
stream_context_set_option($streamContext, 'ssl', 'local_cert', $apnsCert);
stream_context_set_option($streamContext, 'ssl', 'passphrase', "********");
stream_context_set_option($streamContext, 'ssl', 'verify_peer', true);
$apns = stream_socket_client('ssl://'.$apnsHost.':'. $apnsPort, $error, $errorString, 20, STREAM_CLIENT_CONNECT , $streamContext);
}
对我来说这看起来很正确,但很明显,这是不对的。
这实际上是openssl的服务器问题,我认为。我改变了一些配置,现在它可以工作。感谢您的高举。哦,不要使用verify_peer选项。 – 2012-04-05 18:54:02
@TimLieberman您在服务器上所做的更改,请在此处填写,以便我也可以检查我的配置。谢谢 – Ron 2013-09-03 07:30:04
@Ron我不记得问题是什么或我们如何解决这个问题。我很抱歉,当我发现时我应该更新这个问题。 – 2013-09-20 13:38:09