ローカルマシンでプッシュ通知をテストしましたが、完全に動作しています。その後、同じ証明書( ".pem"ファイル)を使ってファイルを実サーバにアップロードし、ポート2195と2196が開いていることを確認します。iosプッシュ通知がサーバーで機能していません
私がテスト:
telnet gateway.sandbox.push.apple.com 2195
をそれは...
[email protected] ~ # telnet gateway.sandbox.push.apple.com 2195
Trying 17.149.34.54...
Connected to gateway.sandbox.push.apple.com.
Escape character is '^]'.
を働いているしかし、私は私のPHPスクリプトからテストするとき、それが返されます。
警告:stream_socket_client() [function.stream-socket-client]: ssl://gateway.sandbox.push.apple.comに接続できません:2195 (Co任意2196
:stream_socket_client()function.streamソケットクライアント]: SSLに接続できません://feedback.sandbox.push.apple.com nnection)は
警告タイムアウト提案?
これは、PHPのコードです:stream_socket_client
機能で
$ctx = stream_context_create();
stream_context_set_option($ctx, 'ssl', 'local_cert',
"path/to/certificate");
$fp = stream_socket_client("ssl://gateway.push.apple.com:2195",
$error, $errorString, 100,
(STREAM_CLIENT_CONNECT|STREAM_CLIENT_PERSISTENT), $ctx);
PHPコード全体を表示してください... – powtac
$ ctx = stream_context_create(); \t \t stream_context_set_option($ ctx、 'ssl'、 'local_cert'、 "path/to/certificate"); \t $ fp = stream_socket_client( "path/to/certificate"、$ error、$ errorString、100、(STREAM_CLIENT_CONNECT | STREAM_CLIENT_PERSISTENT)、$ ctx); – yasserislam
これをあなたの質問に加えて、それを編集する方がいいです。 –