此代码:(https://github.com/stuffmc/Safari-Push-Notifications/blob/master/index.php#L195)
stream_socket_client('ssl://gateway.push.apple.com:2195', $error, $errorString,
60, STREAM_CLIENT_CONNECT, $streamContext);
返回false
,但没有错误。这意味着当我发送到 /v1/push 时,每个设备/令牌都会失败:( PHP 文档说:
如果 errno 中返回的值为 0 并且函数返回 FALSE,则表明错误发生在 connect() 调用之前。这很可能是由于初始化套接字的问题。
我让这个代码完美地运行在一个网站(开发/测试版/登台)上,现在我正试图转移到生产环境,但事实并非如此。
我应该注意到,虽然调用
$ openssl s_client -connect gateway.push.apple.com:2195 -cert MyC.pem -key myK.pem
完美的作品。我有一个提示,我可以在其中输入字符,当输入 enter 时,它会退出 - 与我的开发测试相同。
我也没有发送任何内容/v1/log
(如https://devforums.apple.com/thread/203825所述),所以我不知道问题出在哪里:(