開発環境で取得した証明書を使用して、 ck.pem
iphoneの成功にプッシュ通知を送信できます。gateway.sandbox.push.apple.com
しかし、アクセスしたいのですfeedback.sandbox.push.apple.com
が、次のようなエラーが発生しました。
警告: stream_socket_client() [function.stream-socket-client]: コード 1 で SSL 操作が失敗しました。 /freebackFromApple.php 8 行目
警告: stream_socket_client() [function.stream-socket-client]: 行 8 の /Applications/XAMPP/xamppfiles/htdocs/iphone/freebackFromApple.php で暗号化を有効にできませんでした
警告: stream_socket_client() [function.stream-socket-client]: /Applications/XAMPP/xamppfiles/htdocs/iphone/ で ssl://feedback.sandbox.push.apple.com:2196 (未知のエラー) に接続できません8 行目の freebackFromApple.php フィードバック サーバーへの接続に失敗しました: 0
私のphpコードは次のとおりです。
<?php
$ctx = stream_context_create();
stream_context_set_option($ctx, 'ssl', 'local_cert', '/Applications/XAMPP/xamppfiles/htdocs/iphone/share/ck.pem');
stream_context_set_option($ctx, 'ssl', 'verify_peer', false);
stream_context_set_option($ctx, 'ssl', 'passphrase', '');
$fp = stream_socket_client('ssl://feedback.sandbox.push.apple.com:2196', $error, $errorString, 60, STREAM_CLIENT_CONNECT, $ctx);
if (!$fp) {
print "Failed to connect feedback server: $error $errorString\n";
return;
else {
print "Connection to feedback server OK\n";
}
print "APNS feedback results\n";
while ($devcon = fread($fp, 38)) {
$arr = unpack("H*", $devcon);
$rawhex = trim(implode("", $arr));
$feedbackTime = hexdec(substr($rawhex, 0, 8));
$feedbackDate = date('Y-m-d H:i', $feedbackTime);
$feedbackLen = hexdec(substr($rawhex, 8, 4));
$feedbackDeviceToken = substr($rawhex, 12, 64);
print "TIMESTAMP:" . $feedbackDate . "\n";
print "DEVICE ID:" . $feedbackDeviceToken . "\n\n";
}
fclose($fp);
?>