このコード: ( 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() 呼び出しの前にエラーが発生したことを示しています。これは、ソケットの初期化の問題が原因である可能性が最も高いです。
このコードは Web サイト (開発/ベータ/ステージング) で完全に実行されていますが、本番環境に移行しようとしているのですが、移行しません。
ただし、その呼び出しに注意する必要があります
$ openssl s_client -connect gateway.push.apple.com:2195 -cert MyC.pem -key myK.pem
完全に動作します。文字を入力できるプロンプトが表示され、Enter を入力すると終了します — 私の開発テストと同じです。
/v1/log
また、 (https://devforums.apple.com/thread/203825で言及されているように)何も送信されていないため、問題がどこにあるのかわかりません:(