从 PHP 发送推送通知时出现主键错误
Posted
技术标签:
【中文标题】从 PHP 发送推送通知时出现主键错误【英文标题】:Primary key error when sending Push Notifications from PHP 【发布时间】:2011-09-16 10:18:16 【问题描述】:我开发了一个使用 APNS 的简单应用程序。该应用程序运行良好并在我将主机用于 php 时收到通知,但当我将带有证书的 php 代码发送给另一个国家的人时,它没有收到通知。然后他在其一侧执行 apns php 代码,但 iPhone 应用程序没有收到任何通知。它在php代码中给出主键错误。
我已经按照这个教程http://www.raywenderlich.com/3443/apple-push-notification-services-tutorial-part-12
请帮忙。
【问题讨论】:
【参考方案1】:要在另一台服务器上使用您的证书,您应该导入您的私钥并将其安装在该服务器上。如果它不会被安装,那么第二台服务器就不能使用你用来连接 APNS 的证书。
我想,你忘了这样做。
【讨论】:
另一台服务器是windows系统,我可以在哪台服务器上安装主键。如果您在谈论 .pem 文件,他已将其与 php 文件放在该服务器上。【参考方案2】:我使用了Boxed Ice's awesome guide,它会引导您导出证书和私钥,并将其转换为 PHP 可以用来与 APNS 通信的格式。效果很好。
【讨论】:
【参考方案3】:您的 pem 文件是否也包含私钥?
【讨论】:
其他人可以连接到apns吗?可以使用以下命令进行检查 $ openssl s_client -connect gateway.sandbox.push.apple.com:2195 -cert YourSSLCertAndPrivateKey.pem -debug -showcerts -CAfile server-ca-cert.pem 看起来像是某种与配置相关的问题。 您能否详细说明一下具体问题是什么?他收到了什么确切的错误?使用上述命令连接到 apns 服务器是否正常工作?【参考方案4】:我已经找到了我的问题的解决方案,它是密码短语的问题。在服务器端,我们必须在将 .pem 文件添加到服务器时输入密码。
【讨论】:
以上是关于从 PHP 发送推送通知时出现主键错误的主要内容,如果未能解决你的问题,请参考以下文章
使用 notnoopapns 向 apns 发送推送通知时出现 ssl 错误