I'm guessing your PHP version may not have the Sockets functionality installed or enabled which is why you are getting that error.
Taken from PHP.net:
여기에 설명 된 소켓 함수는 구성 할 --enable-sockets 옵션을 제공하여 컴파일 타임에 활성화해야하는 PHP 확장의 일부입니다.
그러나 코드의 경우 해당 socket_close($apns)
기능 을 사용할 필요가 없습니다 . 대신 제거하고 닫기를 사용할 수 있습니다. ( Quote from PHP.net ) :
성공하면 다른 파일 함수 (예 : fgets (), fgetss (), fwrite (), fclose () 및 feof ())와 함께 사용할 수있는 스트림 리소스가 반환되고 실패하면 FALSE가 반환됩니다.
따라서 사용 fclose($apns);
하면 스트림이 닫힙니다.
소켓을 닫는 기능은 없습니다. 소켓을 생성하고 fwrite / fclose 등으로 관리 할 수 있습니다 : http://php.net/manual/en/function.stream-socket-client.php
-------------------바꾸다:
socket_close($apns);
와
fclose($apns);
그러면보고 한 오류가 해결됩니다. 그래도 APNS 문제가 실제로 해결되는지 확실하지 않습니다.
-------------------실제로 해결했습니다. 문제는 메시지의 내용 (비어 있음)이었습니다. 소켓 기능은 완벽하게 작동합니다.
-------------------$apnsHost = 'gateway.sandbox.push.apple.com';
이 URL에서 " sandbox "를 제거 하면 실행됩니다.
출처
https://stackoverflow.com/questions/7420029