PHP-ios,php推送报错

发布于 2016-10-29 03:02:16 字数 802 浏览 1322 评论 2

php已经加载openssl模块,防火墙关闭,报错如下:

Warning: stream_socket_client() [function.stream-socket-client]: Unable to set local cert chain file `ck.pem'; Check that your cafile/capath settings include details of your certificate and its issuer in /web1/app/testdeom.php on line 31

Warning: stream_socket_client() [function.stream-socket-client]: failed to create an SSL handle in /web1/app/testdeom.php on line 31

Warning: stream_socket_client() [function.stream-socket-client]: Failed to enable crypto in /web1/app/testdeom.php on line 31

Warning: stream_socket_client() [function.stream-socket-client]: unable to connect to ssl://gateway.sandbox.push.apple.com:2195 (Unknown error) in /web1/app/testdeom.php on line 31
Failed to connect: 0

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

晚风撩人 2016-12-27 00:56:34

如果php已经加载openssl模块,并且排除防火墙的原因。
原因:推送证书的问题。
1.确认你的推送证书没问题吗?
生成pem步骤:
1.下载下来你配置好的推送证书aps_developer_identity.cer 文件。
2.转换 .cer 文件到 .pem 文件:
openssl x509 -in aps_developer_identity.cer -inform der
-out PushChatCert.pem
3.在把你“钥匙”推送证书导出成的.p12到.pem文件:
openssl pkcs12 -nocerts -out PushChatKey.pem -in PushChatKey.p12
Enter Import Password:
MAC verified OK
Enter PEM pass phrase:
Verifying - Enter PEM pass phrase:
4.合并两个pem文件:cat PushChatCert.pem PushChatKey.pem > ck.pem
5.测试证书是否可用:
openssl s_client -connect gateway.sandbox.push.apple.com:2195
-cert PushChatCert.pem -key PushChatKey.pem

参考:Apple Push Notification Services Tutorial: Part 1/2

清晨说ぺ晚安 2016-12-19 11:47:13

class pushNotifications {
...
private $sslPem = 'cert.pem';
...
function connectToAPNS(){
$streamContext = stream_context_create();
stream_context_set_option($streamContext, 'ssl', 'local_cert', dirname(__FILE__) . '/' . $this->sslPem);

参照:http://stackoverflow.com/a/809697/841070

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文