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