2010-01-30 4 views
1

J'ai un problème lors de la connexion php et seulement php au démon sphinx. J'ai testé l'exemple de sphinx php test.php et je l'ai réduit à un problème de connexion.fsockopen problème lors de l'ouverture de port à sphinx seulement en php

J'ai la pièce de suivi de code qui montre le problème,

<?php 
$fp = @fsockopen ('127.0.0.1', '9312', $errno, $errstr,300); 
if(!$fp) { 
    echo "$errstr ($errno)"; 
} 
?> 

Chaque fois qu'il passe de la ligne de commande ou d'un navigateur je reçois l'erreur suivante,

Connection refused (111) 

J'ai vérifié ce qui suit,

  1. searchd fonctionne bien et sur le port 9312
  2. searchd peut être connecté à l'aide de telnet
  3. searchd peut être connecté à l'aide de l'API dans test.py sphinx
  4. php peut se connecter au port 80

Il est en cours d'exécution sur un WestHost VPS qui semble être le problème car cela fonctionne très bien sur ma machine de test locale. J'ai un code existant qui utilisait Python pour lancer des recherches sur l'index sans aucun problème, alors celui-ci m'a vraiment bluffé.

Quelques infos supplémentaires,

PHP 5.2.5 Sphinx 0.9.9 libération

quelqu'un a des idées comment je pourrais diagnostiquer et résoudre ce problème plus loin?

+0

Comment sont exécutées test.php et test.py? Les deux à partir de la ligne de commande sur le VPS? Ou test.py depuis la ligne de commande et test.php "dans" un processus apache? Ou ...? – VolkerK

+0

J'ai testé à la fois depuis la ligne de commande et test.php à partir de la ligne de commande et depuis un processus apache en accédant au site Web. – boyter

Répondre

0

Peut-être que vous pouvez utiliser cmd: netstat -an

Pour voir ce ip:port est en cours d'exécution Sphinx Server, puis utilisez cette adresse IP et le port en fonction fsocketopen()

Questions connexes