2009-09-26 11 views
16

i Apple Push Notification Servis

Ben de yapmam gerekeni tamamen karıştı, yerel mac makinesi kullanarak çalıştırmak ancak aşağıdaki hataları
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 

ben PEM diğer makineden oluşturulan belgeli var

gitmeye çalıştı şimdi.

bana localhost

+0

i aynı problemin yaşıyorum, benim yerel XAMPP Server çalıştırmak mümkün. Ancak, dış sunucumda çalışmıyor. socket_close(): – Biranchi

+0

Merhaba Biranchi, Sadece öneriyi Sorununuz Onun çalışan harika bir uyarı haricinde Uyarı –

cevap

60

ben sertifikayı ihraç olabileceğini düşünmek de çalıştırmak için yapmanız gerekenler haber verin, ama .cer dosyası elma malzemeleri değil özel anahtar ediniz. markbates gelen

Bu talimatlar yardımcı olabilir:

uygulamanız için Apple sertifikayı, ihracat anahtar ve p12 dosyaları gibi elma sertifikasını aldıktan sonra.

  1. Anahtarlık Erişim sonraki Sertifikanızla için açıklama oku tıklayın ve sertifikayı ve anahtarı seçin: İşte bunun nasıl hızlı bir örneklerde olduğunu.
  2. öğesini sağ tıklayıp Export 2 items…'u seçin.
  3. Açılır listeden p12 biçimini seçin ve cert.p12 olarak adlandırın.

Şimdi bir pem dosyasına p12 dosyasını gizli:

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

hi jessecurry Çok teşekkürler çözecek portları beyaz liste için hizmet sağlayıcısı ile kontrol verilen kaynak geçerli bir Soket kaynağı değil. Lütfen sorunun ne olabileceğini söyleyebilir misiniz? –

+0

Bu bir php hatası gibi geliyor. Hangi php sürümünü kullanıyorsunuz? Ve socket_close() 'ye ne geçiyorsunuz? – jessecurry

+1

, pHP sürüm 5 $ kullanarak, $ apns = stream_socket_client ('ssl: //'. $ ApnsHost. ':'. $ ApnsPort, $ error, $ errorString, 2, STREAM_CLIENT_CONNECT, $ streamContext); socket_close ($ apns); –