2015-01-20 4 views
1

네트워크 전환 후, 다른 서버로 데이터를 보내는 프로그램의 일부가 더 이상 작동하지 않습니다. "소켓 전송 'http'오류를 갑자기 찾을 수 없습니다. 네트워크를 바꿀 때까지 제대로 작동했습니다.

나는 다음과 같은 코드를 시도 :

<?php 
fsockopen("www.php.net", 80, &$errno, &$errstr, 30); 
    if(!$fp) { 
     echo "Error: $errstr ($errno)<br>\n"; 
    } else { 
     fputs($fp,"GET/HTTP/1.0\n\n"); 
     while(!feof($fp)) { 
      echo fgets($fp,128); 
     } 
     fclose($fp); 
    } 
?> 

그 코드를 실행 한 후를, 나는 다음과 같은 오류가 표시 오전 :

나는이 작동하는지 확인하기 위해 확인해야 할 무엇

Unable to find the socket transport "http" - did you forget to enable it when you configured PHP? (19)

? 네트워크를 전환하기 전에 제대로 작동했기 때문에 당황 스럽습니다. 또한 get30_frece를 시도 할 때 "php_network_getaddresses : getaddrinfo" 오류가 발생합니다.

+0

어떤 Google 검색을 시도하셨습니까? :) – Phil

+1

가능한 중복 [fsock : 소켓 전송 "http"을 찾을 수 없습니다.] (http://stackoverflow.com/questions/9965430/fsock-unable-to-find-the-socket-transport-http) – Phil

+0

I 지금 3 일 동안이 일을 해왔으므로 찾을 수있는 모든 것을 수색했지만 많은 도움을 얻지는 못했습니다. –

답변

0

프로토콜 부분없이 소켓을 열어 보았습니까? 예 : 단지

fsockopen("www.php.net", 80, &$errno, &$errstr, 30); 

나는

Unable to find the socket transport "http"

같은 대답은 상위 5 개 결과 모두에 대한 Google 검색을 수행하여 답을 발견, 그래서 그냥 보내고 삼일을 저장 한 것 5 초 동안 Google에 오류를 복사하여 붙여 넣습니다.

+0

해당 검색어에 대한 모든 첫 페이지 결과를 조회했지만 그 중 아무 것도 내 문제를 해결하지 않았거나 내 문제와 관련이 없습니다. 내가 제안한 'http : //'를 제거하면 다음 오류가 발생합니다. "php_network_getaddresses : getaddrinfo failed : 해당 호스트를 알 수 없습니다." –

+0

getaddrinfo와 관련하여 읽은 모든 것이 DNS에 문제가 있음을 나타내는 오류가 발생했습니다. ISP에 전화를 걸어 DNS 서버가 올바르게 설정되었습니다. 임이 막 혔어. –

+0

그러면 fsockopen 라인은 지금 어떤 모습입니까? 질문을 업데이트하십시오. – Phil