2011-03-13 10 views
2

내 서버 (전용 IP가있는 Bluehost 및 tcp 용으로 열리는 포트 2195를 사용하여 apns-php (http://code.google.com/p/apns-php/))를 만들려고합니다. udp 발신).푸시 알림 서버 구현

는이 오류 받고 있어요 :

Fatal error: Uncaught exception 'ApnsPHP_Exception' with message 'Unable to connect to 'ssl://gateway.sandbox.push.apple.com:2195': (0)' in /home2/xxxxx/public_html/xxxxx/pns/ApnsPHP/Abstract.php:352 Stack trace: #0 /home2/xxxxx/public_html/xxxxx/pns/ApnsPHP/Abstract.php(295): ApnsPHP_Abstract->_connect() #1 /home2/xxxxx/public_html/xxxxx/pns/sample_push.php(41): ApnsPHP_Abstract->connect() #2 {main} thrown in /home2/xxxxx/public_html/xxxxx/pns/ApnsPHP/Abstract.php on line 352

내가 Bluehost를 지원팀에 문의를하고 나에게이 이야기 : 이것을 해결하기 위해

Thanks for contacting us. If seems as though the server ssl://gateway.sandbox.push.apple.com:2195* is refusing to accept the connection made from your account. Is there a way you can whitelist your dedicated ip or accept incoming connections on their end?

누군가가 나를 도울 수 있습니까? 어떤 아이디어? 감사!

답변

11

해결책을 찾았습니다. 최선인지 모르겠지만 작동합니다. ,

$streamContext = stream_context_create(array('ssl' => array(
//'verify_peer' => isset($this->_sRootCertificationAuthorityFile), 
'cafile' => $this->_sRootCertificationAuthorityFile, 
'local_cert' => $this->_sProviderCertificateFile 
))); 

난 정말이 라인의 포인트입니다 모르겠어요 : Abstract.php에 나는 343이 지금은 다음과 같습니다 라인을 댓글을 달았 (이 파일은 APNS-PHP 소스의 일부입니다) 푸시 알림이 제대로 작동하는지 확인하십시오. 프로덕션 서버에서도 올바르게 작동하는지 의심 스럽습니다. 누가 알 겠어?

+1

나를 위해 일한 아래의 잘못, SSL 클라이언트 인증 및 루트 CA에 대한 동일한 인증서를 제공하고 한 일 서버 (Windows 7의 WAMP)가 작동하고 있습니다. – Sebastian

+0

체크 아웃 할 수도 있습니다. https://groups.google.com/forum/#!topic/apns-php/IdzCrxPze7A – Jacksonkr

+0

즉, Entrust Root CA를 사용하여 피어 확인을 사용 중지하고 루트 CA를 다시 확인해야합니다. SSL 클라이언트 인증 및 루트 CA에 대해 동일한 파일을 사용 중일 수 있습니다. – Nish

0

사과와 연락해야 할 수도 있습니다. 사과가 게이트웨이에 액세스하지 못하도록 차단 된 응용 프로그램입니다. 사과에 문의해야 IP 주소 또는 웹 앱 승인을받을 수 있습니다.

0

이 문제는 내가 지역 개발에서보고 있던 것과 정확히 같습니다. 서버에 있고 인증서가 모두 올바르게 설정되어 있으면 해당 줄의 주석 처리를 제거하려고한다고 가정합니다.

0

우리의 경우에는이 튜토리얼의 마지막 부분을 수행하지 않았습니다. http://code.google.com/p/apns-php/wiki/CertificateCreation (생각은 선택 사항 임)

그 결과 정확히 동일한 오류가 발생했습니다.

우리가 그 일을 한 후에 모든 것이 예상대로 이루어졌습니다.

0

나는 같은 문제를했고 나는 코드가 내 자신의 웹에 그것을 테스트 한

$push = new ApnsPHP_Push(
     ApnsPHP_Abstract::ENVIRONMENT_SANDBOX, 
     'ck.pem' 
    ); 

$push->setRootCertificationAuthority('entrust_root_certification_authority.pem'); 

https://code.google.com/p/apns-php/wiki/CertificateCreation