2010-11-05 5 views
0

J'essaye d'exécuter un script qui peut accéder à un index solr en utilisant solr-php-client. Le script s'arrête à l'intérieur de la fonction ping de la classe Apache_Solr_Service.Solr-php-client issue

Alors j'ai essayé de le faire:

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

et n'a rien - page blanche. MAIS la chaîne http://localhost:8983/solr/admin/ping fonctionne comme elle devrait lancer la barre d'adresse des navigateurs.

Quelqu'un peut-il suggérer quelque chose à ce sujet?

Informations complémentaires: apache 2.2.3, CentOS 5.5, PHP 5.1.6, 1.4.1 Solr

Merci

+1

Avez-vous activé le paramètre 'allow_url_fopen' depuis php.ini? – Sarfraz

+0

Oui, il s'est allumé – ruslan

+0

Apache/PHP et Solr s'exécutent sur la même machine, non? – Chad

Répondre

0

Essayez

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

Ok , essayez:

<?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

Aucun résultat - page blanche – ruslan

1

Soit, tout simplement, il suffit d'ajouter une barre oblique de fin après votre URL comme ceci:

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

Ou assurez-vous que vous n'êtes pas en cours d'exécution en mode multi-cœurs. Dans ce cas, vous devez spécifier le nom de votre core avant l'administrateur comme ceci

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

La première option devrait fonctionner pour vous.

Sachez également où vous hébergez votre code. Il devrait être sur ce "localhost", sinon rendre solr listée à une adresse IP publique et accéder à cette adresse IP avec php-solr-client.