2012-07-17 4 views
1

웹 사이트 용 핑백 스크립트를 만들려고합니다. 그러나 1 & 1에는 설치가 필요한 XMLRPC 확장이 없습니다.확장자가없는 PHP XMLRPC 서버

이 확장 기능이 없어도 핑백/트랙백 스크립트를 만들 수있는 대안이 있습니까? 데모가 있습니까?

답변

2

phpxmlrpc

오래된 PHP를 구현하고 것 포기합니다,하지만 당신은 핑백을 보내거나이 blogpost에서 그들을받을 그것을 사용하는 방법을 볼 수 있습니다.

Zend

젠드 프레임 워크에서 XML-RPC clientserver의 순수 PHP 구현이있다, 당신은 전화 또는 핑백 서비스를 구현하는 데 사용할 수 있습니다, 그것은 잘 문서화. 전체 프레임 워크를 구성 요소 라이브러리로만 사용하고 싶지 않다면 프레임 워크를 다운로드하고 디렉토리에서 lib/Zend를 추출한 다음 구성 요소의 최상위 파일을 포함시킵니다. (편의를 위해 자동 로딩을 설정하는 것이 좋습니다)

핑백 서비스 설명은 here입니다. 당신은 설정하는 것이있는 경우

, 당신은 클라이언트/서버 코드에 대한 포인터이 blogpost에 갈 수있다, 나는 당신에게 젠드 클래스와 몇 가지 예 (포스트는 XMLRPC 확장 사용)

보내기 핑백을 제공 :

require_once 'Zend/XmlRpc/Client.php'; // path to the framework files 
try { 
    $client = new Zend_XmlRpc_Client('<pingback service url>'); 
    $client->call('pingback.ping', array('<source uri>', '<target uri>')); 
} catch (Exception $e) { 
    // error handling 
} 

서비스 URL은 블로그 게시물의 http 헤더 또는 pingback documentation에 설명 된 메타 태그에 있습니다.

핑백 서비스 골격

class PingBackService { 
    public function ping($source, $target) { 
     $source_url = $source[0]; 
     $target_url = $target[0]; 

     // validate parameters here, see http://www.quietearth.us/articles/2006/10/30/Coding-your-own-blog-Pingback-in-php for pointers 

     return 'Pingback registered. May the force be with you'; 
    } 
} 
require_once 'Zend/XmlRpc/Server.php'; 
try { 
    $server = new Zend_XmlRpc_Server(); 
    $server->setClass('PingBackService', 'pingback'); 
    echo $server->handle(); 
} catch (Exception $e) { 
    // handle errors 
} 
+0

고마워요, 나는 단지 젠드에서 비트를 끌어낼 수 있는지 몰랐습니다. 단! – James

0

PEAR는 특별한 확장을 필요로하지 않고 PHP 유저 랜드의 XML-RPC 클라이언트와 서버를 구현하는 XML_RPC2 package 있습니다.

관련 문제