Solr-php-client проблема - PullRequest
       6

Solr-php-client проблема

0 голосов
/ 05 ноября 2010

Я пытаюсь запустить скрипт, который может получить доступ к индексу solr с помощью solr-php-client.Скрипт останавливается внутри функции ping класса Apache_Solr_Service.

Тогда я попытался сделать это:

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

и ничего не получил - пустая страница.НО строка http://localhost:8983/solr/admin/ping работает так, как она должна выбрасывать адресную строку браузера.

Кто-нибудь может предложить что-нибудь по этому поводу?

Дополнительная информация: apache 2.2.3, CentOS 5.5, php 5.1.6, Solr 1.4.1

Спасибо

Ответы [ 3 ]

1 голос
/ 17 октября 2011

Либо просто добавьте косую черту после вашего URL, как это:

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

Или просто убедитесь, что вы не работаете в многоядерном режиме. В этом случае вам нужно будет указать имя вашего ядра перед администратором, как это

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

Первый вариант должен работать для вас, хотя.

Также помните, где вы размещаете свой код. Он должен быть на этом «локальном хосте», в противном случае внесите solr в список общедоступных IP-адресов и получите доступ к этому IP-адресу с помощью php-solr-client.

0 голосов
/ 05 ноября 2010

Я нашел решение:

semanage port -a -t http_port_t -p tcp 8983

Проверьте это: http://wiki.centos.org/HowTos/SELinux - см. 5.4.Разрешение доступа к разделу порта

Спасибо за помощь!

0 голосов
/ 05 ноября 2010

Попробуйте

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;

?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...