푸시 알림 (APNS)을 수행하기 위해 Apple 서버와 통신하기 위해 PHP 클래스를 개발해야합니다. 인증서 (.pem)가 있는데 인터넷에서 찾은 다양한 자습서를 따르려고했지만 ssl : //gateway.sandbox.push.apple.com에 연결하려고하면 오류가 발생합니다. 스트림 소켓이있는 2195 :PHP로 SSL 연결을 수행하는 방법
$apnsHost = 'gateway.sandbox.push.apple.com';
$apnsPort = 2195;
$apnsCert = 'apns-dev.pem';
$streamContext = stream_context_create();
stream_context_set_option($streamContext, 'ssl', 'local_cert', $apnsCert);
$apns = stream_socket_client('ssl://'.$apnsHost.':'.$apnsPort, $error, $errorString, 2,
STREAM_CLIENT_CONNECT, $streamContext);
이 URL의 텔넷은 포트 2195가 열리도록 작동합니다. Phpinfo()로 "등록 된 스트림 소켓 전송 : tcp, udp, ssl, sslv3, sslv2, tls"를 얻었 기 때문에 Openssl이 PHP에서 활성화되었습니다. 내 인증서를 잘 읽었습니다 (PHP is_readable (certif.pem) 파일에 대해 true를 반환 함)
Apache 또는 PHP에서 활성화하려면 다른 것이 있습니까?
또한 오류를 언급합니다. 정확히 오류가 무엇입니까? –
더 자세한 오류가 표시됩니까? (오류보고 수준을 확인하십시오) – baloo
아래에 설명했듯이 오류는 다음과 같습니다 : [function.stream-socket-client] : 로컬 인증서 체인 파일 'editus_dev_push.pem'을 설정할 수 없습니다. [function.stream-socket-client] : SSL 핸들을 생성하지 못했습니다. [function.stream-socket-client] : crypto를 활성화하지 못했습니다 [function.stream-socket-client] : ssl : // gateway에 연결할 수 없습니다. sandbox.push.apple.com:2195 (알 수없는 오류) – Anth0