[메모] php에서 https로의 소켓 접속을 하려면
[목차(도우미)]
php에서 https로의 소켓 접속을 하려면
fsockopen($host, $port)함수를 사용하면 되는데, $port=443이고 $host는 ssl://로 시작하도록 접두어를 붙여야 한다.
만일 설치되어 있지 않으면? "Unable to find the socket transport ssl did you forget to enable it when you configured PHP" 이라는 에러 메시지가 나온다.
Plesk를 사용한 서버는 미리 openSSL을 설치해 둔 것같다. 굳이 버전을 확인해보지는 않았으나 PHP에서 접속이 되는 것으로 보아 openSSL이 설치된 것으로 여기고 확인하지는 않았다.
<참고>
fsockopen함수가 아닌 curl함수계열을 써서 접속하는 예제도 많이 있으나 fsockopen이 단순하고 http접속을 공유화 할 수 있기 때문에 편리하다고 본다.
만일 openSSL이 설치되어 있지 않다면 다운로드하여 설치해야 한다.
다음은 인터넷에서 조사한 몇몇 참고 페이지주소:
여기까지 읽고 잘 모르겠는 분은 댓글을 남겨 두세요.
fsockopen($host, $port)함수를 사용하면 되는데, $port=443이고 $host는 ssl://로 시작하도록 접두어를 붙여야 한다.
좀더 구체적으로 예를 들면
fsockopen("ssl://some.site.addr", 443)
만일 설치되어 있지 않으면? "Unable to find the socket transport ssl did you forget to enable it when you configured PHP" 이라는 에러 메시지가 나온다.
Plesk를 사용한 서버는 미리 openSSL을 설치해 둔 것같다. 굳이 버전을 확인해보지는 않았으나 PHP에서 접속이 되는 것으로 보아 openSSL이 설치된 것으로 여기고 확인하지는 않았다.
<참고>
fsockopen함수가 아닌 curl함수계열을 써서 접속하는 예제도 많이 있으나 fsockopen이 단순하고 http접속을 공유화 할 수 있기 때문에 편리하다고 본다.
만일 openSSL이 설치되어 있지 않다면 다운로드하여 설치해야 한다.
다음은 인터넷에서 조사한 몇몇 참고 페이지주소:
- fsocketopen
의 함수 사양
http://php.net/manual/en/function.fsockopen.php - openssl에 관하여
http://www.php.net/manual/en/openssl.requirements.php - openSSL을 설치하지 않았을 경우 나오는 에러 메시지
http://blog.ysatech.com/post/2009/07/15/Warning-fsockopen()-functionfsockopen-unable-to-connect-to-sslwwwsandboxpaypalcom443-(Unable-to-find-the-socket-transport-ssl-did-you-forget-to-enable-it-when-you-configured-PHP).aspx
- Plesk 서버에 나타나는 과거의 문제점
http://mattiasgeniar.be/2010/03/29/dont-upgrade-openssl-if-youre-using-plesk-broken-controlpanel/
여기까지 읽고 잘 모르겠는 분은 댓글을 남겨 두세요.
'연구개발 이야기' 카테고리의 다른 글
소스코드리뷰(XXXII) 한번의 루프로 최대한 처리하라 (0) | 2011.05.21 |
---|---|
리눅스 GNU C++에서 타이머 컴포넌트를 만들기 (4) | 2011.04.13 |
소스코드리뷰(XXXI) 재사용을 염두에 두라 (0) | 2011.03.02 |
웹프로그램 연구(VIII) Input.checkbox의 송신방법 (0) | 2011.02.16 |