fsockopen 대신 stream_context_create, stream_socket_client 를 이용 verify 인증을 하지 않고 연결한다.
$contextOptions = Array( 'ssl' => Array( 'verify_peer' => FALSE ) ); $context = stream_context_create($contextOptions); if (!$this->sock = stream_socket_client($this->ssl.$this->host.":".$this->port, $errno, $errstr, 20, STREAM_CLIENT_CONNECT, $context)) { // 변경한 소스 //if (!$this->sock = @fsockopen($this->ssl.$this->host, $this->port, $errno, $errstr, CONNECT_TIMEOUT)) { // 이니시스에서 제공한 소스 switch($errno) { case -3: $this->errormsg = 'Socket creation failed (-3)'; case -4: $this->errormsg = 'DNS lookup failure (-4)'; case -5: $this->errormsg = 'Connection refused or timed out (-5)'; default: $this->errormsg = 'Connection failed ('.$errno.')'; $this->errormsg .= ' '.$errstr; } return false; }
반응형