gpt4 book ai didi

php - stream_socket_client 在我的服务器上失败,无法了解有关错误的更多信息

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:38:30 27 4
gpt4 key购买 nike

这段代码:(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 时,每个设备/ token 都会失败 :( PHP 文档说:

If the value returned in errno is 0 and the function returned FALSE, it is an indication that the error occurred before the connect() call. This is most likely due to a problem initializing the socket.

我已经为一个网站 (dev/beta/staging) 完美运行了这段代码,现在我正试图转移到生产环境,但它没有。

我应该注意到那个电话

$ openssl s_client -connect gateway.push.apple.com:2195 -cert MyC.pem -key myK.pem

完美运行。我有一个提示,我可以在其中键入字符,当键入 enter 时,它会退出 — 与我的开发测试相同。

我也没有向 /v1/log 发送任何内容(如 https://devforums.apple.com/thread/203825 中所述),所以我不知道问题出在哪里 :(

最佳答案

我通过这种方式生成 .pem 解决了我的问题:

openssl pkcs12 -in key-chain-export.p12 -out apple_push_cert_production.pem -nodes -clcerts

我仍然很想知道我是如何获得证书的“提示”(来自 PHP 或 openssl)。

AND:虽然它解决了服务器端的问题,但我在客户端遇到了问题。好吧……

我还应该提到我修复了服务器上的代码,以便 /v1/log 从 Apple 获取一些东西。

参见 https://github.com/surrealroad/Safari-Push-Notifications/commit/0ae8a3ad3327a957c332090ea1bfcb146a40c5f3

关于php - stream_socket_client 在我的服务器上失败,无法了解有关错误的更多信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24928311/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com