2011-11-10 3 views
0

안녕하세요, PHP에서 간단한 XML-RPC 클라이언트를 작성하는 데 문제가 있습니다. 당신이 도움을PHP에서 localhost xml_rpc 클라이언트를 구현하는 방법은 무엇입니까?

! we get a pb ! 

Successfully pinged Technorati 
null 
boolean false 

감사 :

$site_name = "Mikangali"; 
$site_url = "http://www.mikangali.com"; 
$site_url = "http://localhost"; 

$request = xmlrpc_encode_request("weblogUpdates.ping", array($site_name, $site_url)); 

#echo $request; 

$http_request = array(
    'method' => "POST", 
    'header' => "Content-Type: text/xml\r\nUser-Agent: PHPRPC/1.0\r\nHost: rpc.technorati.com\r\n", 
    'content' => $request 
); 

#print_r($http_request) ; 

$context = stream_context_create(array('http' => $http_request)); 

$file = @file_get_contents($server_url, false, $context); 

if ($file==false) { 

    #handle error here... 
    display_mssg("error","! we get a pb !"); 
} 

$response = xmlrpc_decode($file); 

if (is_array($response) and xmlrpc_is_fault($response)){ 
    display_mssg("error","Failed to ping ".$site_name); 
} 
else { 
    display_mssg("success","Successfully pinged ".$site_name); 
    var_dump($response); 
    var_dump($file); 
} 

나는 그것이 "성공"조건에 입력 한 이유를 파악하고 나에게 그를 표시 할 수 없습니다 : 이 내 PHP 코드입니다. 로컬 wamp 서버에서 XML-RPC PHP 확장 기능이 활성화되어 있습니다. 당신은 문제가 있다면 원인

+0

'@'을 제거하고 얻은 오류 메시지를 살펴보십시오. 그게 도움이 될거야. http://php.net/error-reporting도 참조하십시오. – hakre

답변

0

확실히 xmlrpc_decode(false) 때문에, null $file = false을 반환합니다. (=> ! 우리는 pb !를받습니다.

따라서 $response이 배열인지 확인하는 if에 들어 가지 않습니다.

관련 문제