PHP で APNS を使用すると問題が発生し、次のメッセージが表示されます。
stream_socket_client(): Failed to enable crypto
問題は時々発生するだけで、実際にプッシュを送信する場合もあります。
10回の繰り返しのループにテストスクリプトがあるため、次のようになることがあります。
stream_socket_client(): SSL: Connection reset by peer
サンドボックス サーバーを使用してテストしていますtls://gateway.sandbox.push.apple.com:2195
これが私が試したものです:
- PEM とすべての証明書を再発行しようとしました。
- リクエストプロトコル
sslv3://
とtls://
. - 私はパスフレーズをいじりました(ところで、プッシュはパスフレーズなしで機能しました)
- 解決策を求めてstackoverflowを検索してみましたが、何も機能しませんでした。
- pemファイルのアクセス許可を確認しました
644
- pem 親ディレクトリのアクセス許可を確認しました
755
私が Google と SO で見つけたすべての解決策は、プッシュに問題を抱えている人々のようです。
サービスがレート制限されているような気がします。しばらく (約 15 分) 待ってからもう一度試してみたところ、約 100 件のメッセージを正常にプッシュできたので、そのメッセージが再び表示されるようになりました。