相关疑难解决方法(0)

新的APNS提供程序API和PHP

我开始创建一些基于此的代码,用于从PHP发送推送通知.

但是现在我已经知道有一个新的API利用HTTP/2并在响应中提供反馈,我试图弄清楚我需要做些什么来获得反馈.

我无法找到任何教程或示例代码来指导我(我猜因为它是如此新的).

是否可以使用stream_socket_client()与新提供者API连接到APNS 的方法?我如何获得反馈?我fwrite($fp, $msg, strlen($msg))现在回来的只是一个数字.出于所有意图和目的,您可以认为我的代码与基于我的代码的SO问题中的代码相同

谢谢!

php iphone apple-push-notifications ios

21
推荐指数
1
解决办法
2万
查看次数

APNS ssl://gateway.sandbox.push.apple.com:2195连接失败

我尝试制作推送通知服务器.我通过telnet连接到ssl://gateway.sandbox.push.apple.com:2195.

telnet gateway.sandbox.push.apple.com 2195
Trying 17.172.232.229...
Connected to gateway.sandbox.push-apple.com.akadns.net.
Escape character is '^]'.
Run Code Online (Sandbox Code Playgroud)

我的*.pem还可以(我在另一台服务器上使用它).我在另一台服务器上使用SAME项目,它在那里工作,但其他服务器上的克隆没有.

我得到这些错误:

Warning: stream_socket_client() [function.stream-socket-client]: SSL operation failed with code 1. OpenSSL Error messages: error:14094415:SSL routines:SSL3_READ_BYTES:sslv3 alert certificate expired in /var/www/try.php on line 69

Warning: stream_socket_client() [function.stream-socket-client]: Failed to enable crypto in /var/www/try.php on line 69

Warning: stream_socket_client() [function.stream-socket-client]: unable to connect to ssl://gateway.sandbox.push.apple.com:2195 (Unknown error) in /var/www/try.php on line 69
Run Code Online (Sandbox Code Playgroud)

证书未过期,它适用于其他服务器,日期相同.

有人知道错误是什么吗?

我继续努力

Apache/2.2.9 (Debian) PHP/5.2.17-0.dotdeb.0 with Suhosin-Patch mod_ssl/2.2.9 OpenSSL/0.9.8g
Run Code Online (Sandbox Code Playgroud)

编辑:似乎,在不同的服务器上使用相同的证书不起作用.也许这被Apples服务器阻止了.

ssl push apple-push-notifications

15
推荐指数
2
解决办法
8万
查看次数

使用PEM文件在PHP中推送通知

我一直在使用Ray Wenderlich的使用PHP脚本推送通知的教程.

参考:http://www.raywenderlich.com/32960/apple-push-notification-services-in-ios-6-tutorial-part-1

http://www.raywenderlich.com/32963/apple-push-notification-services-in-ios-6-tutorial-part-2

我已经做了大量的研究,但我在第2部分遇到了一个问题,你使用ck.pem文件运行push.php文件.

/Applications/XAMPP/bin/php push.php development

我唯一的区别是我使用XAMPP而不是MAMP.

我已确认已安装所有扩展程序.

我可以通过以下方式测试终端中的证书:

openssl s_client -connect gateway.sandbox.push.apple.com:2195 -cert PushChatCert.pem -key PushChatKey.pem

它要求我输入我的密码并且我这样做.一切都在终端成功运作.

但是,当我运行push.php文件时,我收到以下错误:

PHP警告:stream_socket_client():SSL操作失败,代码为1. OpenSSL错误消息:错误:14090086:SSL例程:SSL3_GET_SERVER_CERTIFICATE:证书验证失败PHP警告:stream_socket_client():无法启用加密

PHP警告:stream_socket_client():无法连接到第140行的ssl://gateway.sandbox.push.apple.com:2195(未知错误)

php文件中的第140行是:

$this->fp = stream_socket_client('ssl://' . $this->server, $err, $errstr, 60, STREAM_CLIENT_CONNECT|STREAM_CLIENT_PERSISTENT, $ctx);

我找到了这些:

使用crontab调度程序时,iOS推送通知不起作用

https://devforums.apple.com/message/1054840#1054840

在PHP中推送通知

我确实重复了一切.我知道我的密码是正确的.我重新创建了我的证书,pem文件和密钥.什么都行不通.每次我这样做都会出现同样的错误.

我太困惑了.

有没有人有任何建议或知道发生了什么?

谢谢!

更新1:

我也尝试设置ck.pem文件的完整路径,该文件也没有修复错误.

php openssl apple-push-notifications ios

14
推荐指数
3
解决办法
8695
查看次数

标签 统计

apple-push-notifications ×3

ios ×2

php ×2

iphone ×1

openssl ×1

push ×1

ssl ×1