У меня проблема при подключении php и только php к демону sphinx. Я протестировал пример sphinx php example test.php и сузил его до проблемы с подключением.
У меня есть следующий фрагмент кода, который показывает проблему,
<?php
$fp = @fsockopen ( '127.0.0.1', '9312', $errno, $errstr,300 );
if(!$fp) {
echo "$errstr ($errno)";
}
?>
Всякий раз, когда он запускается из командной строки или браузера, я получаю следующую ошибку,
Connection refused (111)
Я подтвердил следующее,
- searchd действительно работает и через порт 9312
- SearchD может быть подключен с помощью Telnet
- searchd может быть подключен к использованию test.py в API sphinx
- PHP может подключиться к порту 80
Он работает на Westhost VPS, что, похоже, является проблемой, поскольку он отлично работает на моей локальной тестовой машине. У меня есть существующий код, который использовал Python для выполнения поиска по индексу без каких-либо проблем, так что этот код хорошо и по-настоящему озадачен.
Некоторая дополнительная информация,
PHP 5.2.5
Сфинкс 0.9.9-релиз
У кого-нибудь есть идеи, как я мог бы диагностировать и исправить эту проблему дальше?