2012-10-09 83 views
1

我已經成功了PHP在我的Windows 7 64位計算機使用我發現這裏的插件安裝Solr的:Solr的PHP的:getDigestedResponse不工作

downloads.php.net/pierre/

這是鏈接到這個網站:

wiki.apache.org/solr/SolPHP

(鏈接無法點擊,因爲我是新用戶)

我已經得到了一切,並運行,搜索和索引工作,但只有當我使用getRawResponse()方法,並通過SimpleXml(http://de.php.net/manual/en/book.simplexml.php)解析它。 getDigestedResponse()方法,它應該返回一個PHP對象,只是返回string(1) " "。 方法getResponse()(http://docs.php.net/manual/en/solrresponse.getresponse.php)剛剛超時。

這不會是什麼大問題,但Raw Response中的一些XML似乎不是有效的,並且使用simpleXML進行分析,但缺少一些屬性,使用正則表達式來獲取所需的數據太麻煩了。

有沒有人得到這個工作呢?非常感謝幫助!

回答

0

取決於您如何解析響應。嘗試下面的代碼並刪除PHP/PECL solr庫並去掉CURL(ex:hostNameHere:8983/solr/select /?q = solr & start = 0 & rows = 10 & indent = on並將結果XML發送到函數低於)。

如果你可以通過URL訪問資源(SOLR)是,那麼就沒有必要使用輔助庫做什麼捲曲可以這樣做:

function makeSimpleXML($xml) { 
    $dom = new DOMDocument; 
    $dom->loadXML($xml); 
    if (!$dom) { 
     // ErrorUtility::throwFatal("could not parse xml. please check the format", "XMLParisng Error"); 
    } 
    return simplexml_import_dom($dom); 
}