2

ウェブサイトのピングバックスクリプトを作成しようとしていますが、1&1には必要なXMLRPC拡張機能がインストールされていません。

この拡張機能を必要とせずにピングバック/トラックバックスクリプトを作成する代わりの方法はありますか?デモはありますか?

4

2 に答える 2

2

phpxmlrpc

古いPhpの実装とそれは放棄されたようですが、このブログ投稿でpingbackを送信または受信するためにそれを使用する方法を見ることができます。

ゼンド

ZendフレームワークにはXML-RPCクライアントサーバーの純粋なphp実装があり、これを使用してpingbackサービスを呼び出したり実装したりでき、十分に文書化されています。完全なフレームワークをコンポーネントライブラリとしてのみ使用したくない場合は、フレームワークをダウンロードし、そこからlib / Zendをディレクトリに抽出して、コンポーネントの最上位ファイルを含めます。(便宜上、自動読み込みを設定することをお勧めします)

ピングバックサービスの説明はこちらです。

それを設定している場合は、このブログ投稿にアクセスして、クライアント/サーバーコードのポインターを確認できます。Zendクラスの例をいくつか示します(投稿では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ドキュメントで説明されているメタタグに含まれます。

ピングバックサービススケルトン

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
}
于 2012-07-17T16:24:14.137 に答える
0

PEARにはXML_RPC2パッケージがあり、特別な拡張機能を必要とせずに、PHPユーザーランドにXML-RPCクライアントとサーバーを実装します。

于 2013-09-30T06:23:40.393 に答える