17

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 件のメッセージを正常にプッシュできたので、そのメッセージが再び表示されるようになりました。

4

8 に答える 8

1

pem ファイルを再作成する必要はありません

間違ったパスフレーズを使用すると、そのエラーが発生します

よろしくエミリアーノ

于 2015-11-16T19:57:26.013 に答える
0

local_cert のファイル パスを指定するときに、愚かにもファイル拡張子 (.pem) を含めるのを忘れたため、この問題が発生しました。

于 2016-02-29T23:06:11.530 に答える
0

いくつかのチェック:

  1. デバイス トークンは - with outspacesおよび without out<または>
  2. 証明書のパスが正しく、有効期限が切れていることを確認してください。
  3. 使用しているパスフレーズが証明書の作成に使用したものであることを確認してください
于 2016-04-21T03:18:32.300 に答える
0

私の場合、問題は私の mac (OSX Sierra) にありました。サーバーにphpと証明書をアップロードして実行したところ、通知が届きました。

于 2016-12-17T18:11:44.710 に答える