У меня проблемы с доступом к Sphinx из PHP. Я добавил php_sphinx.dll в мою конфигурацию, перезапустил и проверил, что он находится в info () и пока все хорошо. Затем настроил мой Sphinx сервер, установил сервис:
F:\webserver\sphinx\bin>searchd.exe --install --config f:\webserver\sphinx\conf\app.conf --servicename Sphinx
Sphinx 2.2.5-id64-release (r4825)
Copyright (c) 2001-2014, Andrew Aksyonoff
Copyright (c) 2008-2014, Sphinx Technologies Inc (http://sphinxsearch.com)
Installing service...
Service 'Sphinx' installed successfully.
Затем запустил сервис, затем построил мой индекс
F:\webserver\sphinx\bin>indexer.exe --config f:\webserver\sphinx\conf\app.conf --rotate --all
Sphinx 2.2.5-id64-release (r4825)
Copyright (c) 2001-2014, Andrew Aksyonoff
Copyright (c) 2008-2014, Sphinx Technologies Inc (http://sphinxsearch.com)
using config file 'f:\webserver\sphinx\conf\app.conf'...
indexing index 'app'...
collected 2 docs, 0.0 MB
sorted 0.0 Mhits, 100.0% done
total 2 docs, 13336 bytes
total 0.047 sec, 279862 bytes/sec, 41.97 docs/sec
total 5 reads, 0.000 sec, 5.5 kb/call avg, 0.0 msec/call avg
total 12 writes, 0.000 sec, 3.9 kb/call avg, 0.0 msec/call avg
rotating indices: successfully sent SIGHUP to searchd (pid=3716).
Пока без ошибок, все выглядит нормально, все файлы созданы.
Теперь, если я сделаю php-тест вроде:
<?php
error_reporting(E_ALL);
$s = new SphinxClient;
$s->setServer("localhost", 9312);
$s->setMatchMode(SPH_MATCH_ANY);
$s->setMaxQueryTime(3);
$result = $s->query('test');
var_dump($result);
?>
Я только получаю
bool(false)
Итак, я пошел, чтобы сделать тест в командной строке:
F:\webserver\sphinx\bin>searchd.exe --config f:\webserver\sphinx\conf\app.conf test
И я получаю
FATAL: malformed or unknown option near 'test'
Итак, я пошел в свой лог-файл, query.log пуст, а searchd.log содержит:
[ 4212] listening on 127.0.0.1:9312
[ 4212] WARNING: index 'app': lock: failed to lock F:\webserver\sphinx\data\app.spl: No such file or directory; NOT SERVING
[ 4212] FATAL: no valid indexes to serve
Но файл F: \ webserver \ sphinx \ data \ app.spl существует здесь.
Поэтому я понятия не имею, что происходит.
Я смог решить свой вопрос, это оказалось проблемой брандмауэра.
Других решений пока нет …