Uzyskiwanie błędów przy użyciu APNS PHP

Oto kod, którego używam

<?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);
?>

i dostaję te błędy

Ostrzeżenie: stream_socket_client () [function.stream-socket-client]: Nie można ustawić pliku klucza prywatnego `apns-dev.pem 'w /home/bryan/sendpush.php w linii 14

Ostrzeżenie: stream_socket_client () [function.stream-socket-client]: nie udało się utworzyć uchwytu SSL w /home/bryan/sendpush.php w linii 14

Ostrzeżenie: stream_socket_client () [function.stream-socket-client]: Nie udało się włączyć szyfrowania w /home/bryan/sendpush.php w linii 14

Ostrzeżenie: stream_socket_client () [function.stream-socket-client]: nie można połączyć się z ssl: //gateway.sandbox.push.apple.com: 2195 (Nieznany błąd) w /home/bryan/sendpush.php w linii 14

Ostrzeżenie: argument fwrite (): provided nie jest prawidłowym zasobem strumienia w /home/bryan/sendpush.php w linii 17

Ostrzeżenie: socket_close () oczekuje, że parametr 1 będzie zasobem, boolean podany w /home/bryan/sendpush.php w linii 19

Ostrzeżenie: argument fclose (): provided nie jest prawidłowym zasobem strumienia w /home/bryan/sendpush.php w linii 20

Właściwie to zrozumiałem te błędy

Ostrzeżenie: stream_socket_client () [function.stream-socket-client]: Operacja SSL nie powiodła się z kodem 1. OpenSSL Komunikaty o błędach: błąd: 14094410: Procedury SSL: SSL3_READ_BYTES: błąd uzgadniania powiadomienia sslv3 w /home/bryan/PushService.php on-line 27

Ostrzeżenie: stream_socket_client () [function.stream-socket-client]: Nie udało się włączyć szyfrowania w /home/bryan/PushService.php w linii 27

Ostrzeżenie: stream_socket_client () [function.stream-socket-client]: nie można połączyć się z ssl: //gateway.sandbox.push.apple.com: 2195 (Nieznany błąd) w /home/bryan/PushService.php on-line

questionAnswers(2)

yourAnswerToTheQuestion