Ben iki ayrı WordPress bloglar eşitlemek için WordPress XMLRPC kütüphanesini kullanan birkaç ay önce küçük bir PHP uygulama yazdı. Ben, istek paketleri gönderir ve sunucu yanıt verir genel bir "RPCRequest" fonksiyonu var, ve ben gönderilen istek türünü özelleştirmek çok daha fazla özel işlevleri bulunmaktadır.
Bu özel durumda, ben uzak sunucuda mesajların sayısını ve kendi postids almak için "getPostIDs" arıyorum. İşte kod:
$rpc = new WordRPC('http://mywordpressurl.com/xmlrpc.php', 'username', 'password');
$rpc->getPostIDs();
Ben aşağıdaki hata iletisi alıyorum:
expat reports error code 5
description: Invalid document end
line: 1
column: 1
byte index: 0
total bytes: 0
data beginning 0 before byte index:
Ayrıca garip bir çekişme biten tür. Hata mesajı XML biçimlendirilmiş değil çünkü Ama, benim sezgi bu uzak sunucu, hata değil, üreten yerel XMLRPC kütüphane olmasıdır.
Ben "getPostIDs ()" ile "getPostIDs (1)" veya diğer herhangi bir tamsayı çağrı değiştirirseniz bile yabancı, gayet güzel çalışıyor.
İşte WordRPC sınıf için kod:
public function __construct($url, $user, $pass) {
$this->url = $url;
$this->username = $user;
$this->password = $pass;
$id = $this->RPCRequest("blogger.getUserInfo",
array("null", $this->username, $this->password));
$this->blogID = $id['userid'];
}
public function RPCRequest($method, $params) {
$request = xmlrpc_encode_request($method, $params);
$context = stream_context_create(array('http' => array(
'method' => "POST",
'header' => "Content-Type: text/xml",
'content' => $request
)));
$file = file_get_contents($this->url, false, $context);
return xmlrpc_decode($file);
}
public function getPostIDs($num_posts = 0) {
return $this->RPCRequest("mt.getRecentPostTitles",
array($this->blogID, $this->username,
$this->password, $num_posts));
}
Ben de belirtildiği gibi "getPostIDs" pozitif bir tamsayı argüman verilirse, iyi çalışıyor. Ayrıca, bu çok iyi olarak çalışmak için Kullanılan; 0 varsayılan parametre sadece o değil, sadece en son $num_posts
mesajlar, all mesaj almak gerekir RPC sunucusuna gösterir. Sadece son zamanlarda bu hata kadar gösteren başladı.
Ben çok şans olmadan hatayı googling denedim. Benim soru, çok açıktır ki ötesinde what exactly does "expat reports error code 5" mean, and who is generating the error? herhangi bir detay / öneri / anlayışlar vardır!