Ошибка APNS Предупреждение: ошибка stream_socket_client () - PullRequest
1 голос
/ 07 июня 2011

Я усердно работаю над этим, и openssl включен на моем сервере, но проблема остается. Будет ли это иметь какое-то значение, если запустить его книгу MAc. Пожалуйста, ответьте, если это сделано там.

Мой код:

<?php
$deviceToken = 'my device key';  // not putting in for security

$payload['aps'] = array('alert' => 'This is the alert text', 'badge' => 1, 'sound' => 'default');
$payload = json_encode($payload);

$apnsHost = 'gateway.sandbox.push.apple.com';
$apnsPort = 2195;
$apnsCert = 'apns-dev.pem';

$streamContext = stream_context_create();
stream_context_set_option($streamContext, 'ssl', 'local_cert', $apnsCert);

$apns = stream_socket_client('ssl://' . $apnsHost . ':' . $apnsPort, $error, $errorString, 2, STREAM_CLIENT_CONNECT, $streamContext);

$apnsMessage = chr(0) . chr(0) . chr(32) . pack('H*', str_replace(' ', '', $deviceToken)) . chr(0) . chr(strlen($payload)) . $payload;
fwrite($apns, $apnsMessage);

socket_close($apns);
fclose($apns);
?>

Ошибка:

Предупреждение: stream_socket_client () [function.stream-socket-client]: SSL Сбой операции с кодом 1. Сообщения об ошибках OpenSSL: ошибка: 14094410: подпрограммы SSL: SSL3_READ_BYTES: квитирование оповещения sslv3 ошибка в F: \ xampp \ htdocs \ apns \ apns.php в строке 24

Предупреждение: stream_socket_client () [function.stream-socket-client]: Не удалось включить шифрование в F: \ xampp \ htdocs \ apns \ apns.php в строке 24

Предупреждение: stream_socket_client () [function.stream-socket-client]: невозможно подключиться к ssl: //gateway.sandbox.push.apple.com: 2195 (Неизвестная ошибка) в F: \ xampp \ htdocs \ apns \ apns.php в строке 24

Пожалуйста, напишите, если есть идеи.

Спасибо

Ответы [ 2 ]

1 голос
/ 11 мая 2017

У меня была такая же проблема.Решением для меня было сгенерировать сертификат снова.Я сделал это с помощью этих команд:

openssl x509 -in testpush_aps_development.cer -inform der -out TestPushCert.pem
openssl pkcs12 -nocerts -out TestPushKey.pem -in TestPush.p12

После этого:

cat TestPushKey.pem TestPushCert.pem > TestPushCK.pem

Помните, что testpush_aps_development.cer в данном случае - это сертификат, который вы имеете на своей странице разработчика Apple в разделеСертификаты APNS.

Надеюсь, это поможет вам, в любом случае, я уверен, что это проблема с сертификатами.

0 голосов
/ 16 августа 2011

Проверьте свои сертификаты, они вызывают ошибки довольно часто.

...