Forum und email

지원되는 소켓 전송 목록

Table of Contents

다음은 fsockopen()stream_socket_client()같은 스트림 기반 소켓 함수를 사용하기 위해 PHP가 내장하고 있는 다양한 URL 스타일의 소켓 전송 목록이다. 이런 전송들은 Sockets Extension에 적용되지 않는다.

설치된 PHP 버전안에 사용가능한 전송 리스트를 보려면 stream_get_transports()를 사용하라.

인터넷 도메인: TCP, UDP, SSL, TLS

PHP 3, PHP 4. ssl:// & PHP 4.3이후의 tls://

Note: 전송이 표시되지 않으면 tcp://라고 가정할것이다.

  • 127.0.0.1
  • fe80::1
  • www.example.com
  • tcp://127.0.0.1
  • tcp://fe80::1
  • tcp://www.example.com
  • udp://www.example.com
  • ssl://www.example.com
  • tls://www.example.com

인터넷 도메인 소켓은 목표 주소에 더하여 포트 번호가 올것을 예상할수 있다. fsockopen()의 경우 이것은 두번째 인수에서 설정되고 따라서 전송 url의 구성에 영향을 주지 않는다. stream_socket_client()와 이와 관련된 함수는 전통적인 URL을 갖는다. 포트 번호는 전송 URL의 끝에 콜론으로 구분되어 덧붙여진다.

  • tcp://127.0.0.1:80
  • tcp://[fe80::1]:80
  • tcp://www.example.com:80

Note: 포트 번호를 갖는 IPv6 숫자 주소 위 예제중 두번째는, IPv4의 호스트명 예제가 콜른과 포트번호의 추가와는 별개로 남겨져있는데 반하여, IPv6 주소는 대괄호: [fe80::1]에 둘러쌓여 있다. 이것은 IPv6 주소에서 사용되는 콜론과 포트번호를 구분하기 위해 사용되는 콜론을 구별하기 위한 것이다.

ssl://tls:// 전송은 (openssl 지원이 PHP안에 컴파일되었을때만 가용) SSL 암호화를 포함하는 tcp:// 전송의 확장이다. PHP 4.3.0이후에 OpenSSL 지원은 PHP와 정적으로 컴파일되어야 한다. PHP 5.0.0 이후부터는 모듈이건 정적이건 아무거나 컴파일 되어 사용될수 있을것이다.

ssl://tls://에 대한 환경 옵션 (PHP 4.3.2 이후 버전)
이름 용도 기본값
verify_peer TRUE or FALSE. 사용되는 SSL 인증의 조회를 요구 FALSE
allow_self_signed TRUE or FALSE. 자체-사인된 인증을 허용 FALSE
cafile 원격단의 신원을 인증하기 위한 verify_peer 환경 옵션으로 사용될수 있는 로컬 파일시스템상의 인증 증명서 파일의 위치  
capath cafile에서 설정되지 않거나 인증서를 거기서 찾을수 없다면, capath에 의해 지정된 디렉토리에서 적절한 인증서를 검색한다. capath는 정확하게 해쉬된 인증서 디렉토리여야 한다.  
local_cert 파일시스템 상의 로컬 인증서 파일로의 경로. 인증과 개인키를 포함하는 인코딩된 PEM 파일이 되어야 한다. 이것은 요구자의 인증 체인을 선택적으로 포함할수 있다.  
passphrase 인코딩된 local_cert파일의 패스구절(passphrase).  
CN_match Common Name 이 와야 함. PHP는 제한된 와일드카드 비교를 수행할것이다. Common Name이 이와 일치하지 않으면, 접속시도가 실패할것이다.  

Note: ssl://https://ftps:// 래퍼를 위한 중요한 전송이기 때문에, ssl://에 적용되는 환경 옵션은 https://ftps://에도 적용된다.