2009-09-26 9 views
16

은 내가 애플 푸시 알림 서비스

그래서 내가 무엇을해야 완전히 혼란 스러워요, 지역 맥 컴퓨터를 사용하여 실행하지만, 다음과 같은 오류
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 

내가 PEM 다른 시스템에서 생성 된 인증 받았습니다

에게 가려고 노력 지금.

는 제가 로컬 호스트

+0

내가 같은 proble가 오전, 난 내 로컬 XAMPP 서버에서 실행할 수 있어요. 하지만 내 외부 서버에서 실행되고 있지 않습니다. socket_close() : – Biranchi

+0

안녕 Biranchi, 그냥 제안에 대한 문제 그 작업 훌륭한, 하나의 경고를 제외하고 경고 –

답변

60

난 당신이 인증서를 내보낼 수도 있다는 생각에서 실행하기 위해 무엇을해야하는지 알려하지만 .cer 파일 사과 공급에서가 아니라 개인 키하시기 바랍니다. markbates에서

이 지침은 도울 수 있습니다

귀하의 응용 프로그램에 대한 애플에서 인증서, 수출 키와 P12 파일로 사과 인증서가되면.

  1. 는 키 체인 접근 에서 다음 인증서에 공개 화살표를 클릭하고 인증서와 키를 선택 : 다음은이 작업을 수행하는 방법에 대한 빠른 연습 입니다.
  2. 마우스 오른쪽 버튼을 클릭하고 Export 2 items…을 선택하십시오.
  3. 드롭 다운에서 p12 형식을 선택하고 cert.p12으로 이름을 지정하십시오.

는 이제 PEM 파일에 P12 파일을 은밀한 :

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

안녕 jessecurry 감사를 많이 해결할 포트 을 허용 목록에 대한 호스팅 업체에 확인 공급 리소스가 유효한 Socket 리소스가 아닙니다. 문제점이 무엇이 있는지 알려주세요. –

+0

PHP 오류처럼 들립니다. 어떤 PHP 버전을 사용하고 있습니까? socket_close()에 무엇을 전달합니까? – jessecurry

+1

iam pHP 버전 5 사용 $ apns = stream_socket_client ('ssl : //'. $ apnsHost. ':'. $ apnsPort, $ error, $ errorString, 2, STREAM_CLIENT_CONNECT, $ streamContext); socket_close ($ apns); –