2009-09-26 9 views
16

Ho provato a correre per mezzo della macchina mac locale, ma andare i seguenti erroridi Apple Push Notification Servizio

Warning: stream_socket_client() [function.stream-socket-client]: Unable to set private key file `/Applications/XAMPP/xamppfiles/htdocs/apns/apns-dev.pem’ in /Applications/XAMPP/xamppfiles/htdocs/apns/apns.php on line 9 

Warning: stream_socket_client() [function.stream-socket-client]: failed to create an SSL handle in /Applications/XAMPP/xamppfiles/htdocs/apns/apns.php on line 9 

Warning: stream_socket_client() [function.stream-socket-client]: Failed to enable crypto in /Applications/XAMPP/xamppfiles/htdocs/apns/apns.php on line 9 

Warning: stream_socket_client() [function.stream-socket-client]: unable to connect to ssl://gateway.sandbox.push.apple.com:2195 (Unknown error) in /Applications/XAMPP/xamppfiles/htdocs/apns/apns.php on line 9 

Warning: socket_close() expects parameter 1 to be resource, boolean given in /Applications/XAMPP/xamppfiles/htdocs/apns/apns.php on line 11 

Warning: fclose() expects parameter 1 to be resource, boolean given in /Applications/XAMPP/xamppfiles/htdocs/apns/apns.php on line 12 

ho ottenuto PEM diplomato generata da altra macchina,

Quindi io sono totalmente confuso quello che ho da fare adesso.

prega fatemi sapere cosa devo fare per eseguirlo in localhost

+0

sto avendo lo stesso proble, io sono in grado di eseguire nel mio locale XAMPP Server. Ma non è in esecuzione nel mio server esterno. – Biranchi

+0

Hi Biranchi, Basta controllare con il vostro fornitore di hosting per whitelist le porte che risolverà il tuo problema –

risposta

60

Credo che si può avere esportato il certificato, ma non la chiave privata dal file CER che le forniture di mele.

Queste istruzioni da markbates potrebbero dare una mano:

Una volta ottenuto il certificato da di Apple per la vostra applicazione, l'esportazione la chiave e il certificato mela come file P12. Ecco una guida rapida su come fare questo:

  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 scegliere Export 2 items….
  3. Scegliere il formato p12 dal menu a discesa e denominarlo cert.p12.

Ora Covert il file p12 in un file PEM:

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

hi jessecurry Grazie mille per il suggerimento Il suo grande lavoro, ad eccezione di un avvertimento Attenzione: socket_close(): in dotazione la risorsa non è una risorsa Socket valida. Potrebbe dirmi quale potrebbe essere il problema? –

+0

Sembra un errore php. Quale versione di php stai usando? E cosa stai passando a socket_close()? – jessecurry

+1

iam utilizzando pHP versione 5 $ apns = stream_socket_client ('ssl: //'. $ ApnsHost. ':'. $ ApnsPort, $ error, $ errorString, 2, STREAM_CLIENT_CONNECT, $ streamContext); socket_close ($ apns); –