지원되는 소켓 전송 목록
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 이후부터는 모듈이건 정적이건 아무거나 컴파일 되어 사용될수 있을것이다.
이름 | 용도 | 기본값 |
---|---|---|
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://에도 적용된다.