2010-11-05 75 views
0

我想運行一個腳本,可以使用solr-php-client訪問solr索引。該腳本停止在Apache_Solr_Service類的ping功能中。Solr-php-client問題

然後我試圖做到這一點:

echo file_get_contents('http://localhost:8983/solr/admin/ping'); 

,並沒有什麼 - 空白頁。但字符串http://localhost:8983/solr/admin/ping的作品,因爲它應該拋出瀏覽器地址欄。

任何人都可以建議對這個東西嗎?

附加信息:阿帕奇2.2.3,CentOS的5.5,PHP 5.1.6,1.4.1的Solr

感謝

+1

你有'allow_url_fopen'設置在php.ini中的開啓? – Sarfraz 2010-11-05 13:02:02

+0

是的,它打開 – ruslan 2010-11-05 13:09:03

+0

Apache/PHP和Solr在同一臺機器上運行,對不對? – Chad 2010-11-05 13:13:36

回答

0

嘗試

echo file_get_contents('http://127.0.0.1:8983/solr/admin/ping');

好,請嘗試:

<?php 

    $curl_handle=curl_init(); 
    curl_setopt($curl_handle,CURLOPT_URL,'http://localhost:8983/solr/admin/ping'); 
    curl_setopt($curl_handle,CURLOPT_RETURNTRANSFER,1); 
    $buffer = curl_exec($curl_handle); 
    curl_close($curl_handle); 

    echo $buffer; 

?> 
+0

沒有結果 - 空白頁 – ruslan 2010-11-05 13:10:09

1

不是,簡單地說,只是添加一個尾部將您的網址後,削減這樣的:

echo file_get_contents('http://localhost:8983/solr/admin/ping/'); 

或者只是確保你沒有多核模式下運行。在這種情況下,你需要這樣的

echo file_get_contents('http://localhost:8983/solr/CORE_NAME/admin/ping/'); 

首先選擇管理員之前指定你的核心的名稱應該爲你的工作,雖然。在您託管代碼

也知道。它應該在該「localhost」上,否則將solr列入公共IP並使用php-solr-client訪問該IP。