php_network_getaddresses 오류관련 질문드립니다. 채택완료

php_network_getaddresses: getaddrinfo failed: No address associated with hostname(0) Warning: fclose(): supplied argument is not a valid stream resource

이 오류가 발생해서 그런데

현재 소스코드를 보니

$fp = @fsockopen($host,80,$errno,$errstr,30);
    $return = "";
    if (!$fp) {
        echo $errstr."(".$errno.")";
    } else {
        fputs($fp, "POST ".$path." HTTP/1.1\r\n");
        fputs($fp, "Host: ".$host."\r\n");
        fputs($fp, "Content-type: application/x-www-form-urlencoded\r\n");
        fputs($fp, "Content-length: ".strlen($param)."\r\n");
        fputs($fp, "Connection: close\r\n\r\n");
        fputs($fp, $param."\r\n\r\n");
        while(!feof($fp)) $return .= fgets($fp,4096);
    }

fclose ($fp);

이렇게 작성되어있는데 

$fp = @fsockopen($host,80,$errno,$errstr,30);
    $return = "";
    if (!$fp) {
        echo $errstr."(".$errno.")";
    } else {
        fputs($fp, "POST ".$path." HTTP/1.1\r\n");
        fputs($fp, "Host: ".$host."\r\n");
        fputs($fp, "Content-type: application/x-www-form-urlencoded\r\n");
        fputs($fp, "Content-length: ".strlen($param)."\r\n");
        fputs($fp, "Connection: close\r\n\r\n");
        fputs($fp, $param."\r\n\r\n");
        while(!feof($fp)) $return .= fgets($fp,4096);

        fclose ($fp);
    }

fclose($fp)를 else문에 넣으면 오류가 수정될까요..??

답변 2개

채택된 답변
+20 포인트

fclose ($fp); <--- @fclose ($fp);  @만 먼저 붙혀보세요

로그인 후 평가할 수 있습니다

답변에 대한 댓글 8개

그럼 일단 if else문 밖으로 빼놓고 앞에 @만 붙일까요??
네엡 건들지 말고 그냥 먼저 @하세요~~
혹시 php_network_getaddresses: getaddrinfo failed: No address associated with hostname(0) 오류 원인도 아시나요..??
hostname(0) <---- 주소를 못찾습니다. 사용하시는 서버문제일수도 아니면 DNS문제일수도 ~~
$host가 www.sendgo.co.kr이고 제 생각엔 호스트주소에서 ip로 변환을 못해서 못가져 오는거 같은데. 여기 ip주소를 모르겠네요
www.sendgo.co.kr ==> 211.230.149.176 이고 닷네임에서 네임서비스로 연결하신듯..
ip문제보다 서버나 DNS문제일수 있을거 같습니다~~
보내고 사이트에 문의하시는게 더 빠르겠습니다. 외부 연결서비스이시면 포트등 다른 사용법을 알려드릴겁니다.
감사합니다.

댓글을 작성하려면 로그인이 필요합니다.

No address associated with hostname(0)

이 부분을 해결하셔야할거같은데요

fclose부분은 warning이라 치명적인 오류가 아닌거같아요

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

테스트할려고 해도 하루에 한번 나올까 말까하는 오류라서 제가 생각하기에 @fsockopen에서 ip를 제대로 못가져와서 php_network_getaddresses: getaddrinfo failed: No address associated with hostname(0) 오류 메시지를 출력하는거 같아서 $fp 있을때만 fclose가 실행되면 된다고 생각해서.. 저렇게 넣어봤어요

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인
🐛 버그신고