2014-11-12 10 views
16

in grado di ottenere questo ottenere questi errori durante l'esecuzione di PHP in terminale come php simplepush.phpavvertimento: stream_socket_client(): in grado di impostare file della chiave privata

Warning: stream_socket_client(): Unable to set private key file `/users/accenture/Desktop/newAPNS/ck.pem' in /users/accenture/Desktop/newAPNS/simplepush.php on line 22 

Warning: stream_socket_client(): failed to create an SSL handle in /users/accenture/Desktop/newAPNS/simplepush.php on line 22 

Warning: stream_socket_client(): Failed to enable crypto in /users/accenture/Desktop/newAPNS/simplepush.php on line 22 

Warning: stream_socket_client(): unable to connect to ssl://gateway.sandbox.push.apple.com:2195 (Unknown error) in /users/accenture/Desktop/newAPNS/simplepush.php on line 22 

Failed to connect: 0 

ho creato tutti i certificati e file PEM utilizzando articolo raywenderlich , http://www.raywenderlich.com/32960/apple-push-notification-services-in-ios-6-tutorial-part-1#comments

+0

ci mostri il chmod di: '' '/ utenti/Accenture/Desktop/newAPNS /' ''? – ChoiZ

+0

accenture: newAPNS accenture: $ php simplepush.php – kumar

+0

utilizzo: \t chmod [-fhv] [-R [-H | -L | -P]] [-a | + a | = a [i] [# [n]]] file di immissione | chmod [-fhv] [-R [-H | -L | -P]] [-E | -C | -N | -i | -I] file ... – kumar

risposta

49

Il problema è che il file pem non era corretto, ho creato il file pem utilizzando http://www.raywenderlich.com/32960/apple-push-notification-services-in-ios-6-tutorial-part-1. La creazione del file p12 e con p12 la creazione del file pem non funzionano per me. Processo corretto per creare p12 e con p12 creare il file pem come muggito

Una volta ottenuto il certificato da Apple per la propria applicazione, esportare la chiave e il certificato Apple come file p12. Ecco una rapida panoramica su come eseguire questa operazione:

  1. Fare clic sulla freccia di apertura accanto al certificato in Accesso portachiavi e selezionare il certificato e la chiave.
  2. Fare clic con il tasto destro e selezionare Esporta 2 elementi ....
  3. Scegliere il formato p12 dal menu a discesa e denominarlo cert.p12.

Ora convertire il file p12 in un file PEM:

$ openssl pkcs12 -in cert.p12 -out apple_push_notification_production.pem -nodes -clcerts

Questo sta lavorando per me, ora io sono ricevere una notifica push.

+0

@norganik Grazie mille. Questa era grata .. funziona –

+0

Questo mi ha salvato così tanto tempo.Grazie mille! – Offek

+0

Questa è la soluzione - GRANDE GRAZIE !!!! –

-3

Questa è la soluzione per reywenderlich Apple Push Notification Services Tutorial

$deviceToken = ''; //Enter your token number 
// Put your private key's passphrase here: 
$passphrase = '1234';//Enter ck.pem 's password 
// Put your alert message here: 
$message = 'My first push notification!'; 
0

Ho seguito un tutorial youtube che è quasi identico a quello dell'art raywenderlich. Ho appena dimenticato di aggiungere la pass phrase PEM. Dopo aver aggiunto che, come descritto here, ha funzionato:

stream_context_set_option($ctx, 'ssl', 'passphrase', 'MyPassPhrase'); 
Problemi correlati