Começando erros usando APNS PHP

Aqui está o código que estou usando

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

e eu recebo esses erros

Aviso: stream_socket_client () [function.stream-socket-client]: Não é possível definir o arquivo de chave particular `apns-dev.pem ’em /home/bryan/sendpush.php na linha 14

Aviso: stream_socket_client () [function.stream-socket-client]: não conseguiu criar um identificador SSL em /home/bryan/sendpush.php na linha 14

Aviso: stream_socket_client () [function.stream-socket-client]: Falha ao habilitar o criptograma em /home/bryan/sendpush.php na linha 14

Aviso: stream_socket_client () [function.stream-socket-client]: incapaz de se conectar a ssl: //gateway.sandbox.push.apple.com: 2195 (erro desconhecido) em /home/bryan/sendpush.php na linha 14

Aviso: fwrite (): o argumento fornecido não é um recurso de stream válido em /home/bryan/sendpush.php na linha 17

Aviso: socket_close () espera que o parâmetro 1 seja um recurso, booleano dado em /home/bryan/sendpush.php na linha 19

Aviso: fclose (): argumento fornecido não é um recurso de stream válido em /home/bryan/sendpush.php na linha 20

Na verdade, agora consegui-lo com esses erros

Aviso: stream_socket_client () [function.stream-socket-client]: a operação SSL falhou com o código 1. OpenSSL Mensagens de erro: 14094410: rotinas SSL: SSL3_READ_BYTES: falha de handshake de alerta sslv3 em /home/bryan/PushService.php on line 27

Aviso: stream_socket_client () [function.stream-socket-client]: Falha ao ativar o criptografia em /home/bryan/PushService.php na linha 27

Aviso: stream_socket_client () [function.stream-socket-client]: incapaz de se conectar a ssl: //gateway.sandbox.push.apple.com: 2195 (erro desconhecido) em /home/bryan/PushService.php on line

  1. Use o caminho absoluto para a chave privada em vez do caminho relativo.

  2. Certifique-se de que o usuário php (ou usuário do servidor web, dependendo … www-data , apache , nginx , www …) pode ler ( chown , chmod ).

Eu também estava obtendo esse erro. descobriu que eu tinha configurado a permissão errada na pasta que tinha o arquivo de certificado. Isso funcionou para mim:

 chmod 755 your_folder_that_has_certificate_files 
    Intereting Posts