Sphinx & PHP

Предисловие

Решил я как-то поставить SphinxSearch. Последняя версия мне не нужна была, поэтому решил ставить из репозиториев Debian 7 - Sphinx 2.0.4.
Установился без проблем. Тут писать не о чем.

Sphinx Client

Теперь нужна библиотека для работы с ним в PHP. Есть, конечно, sphinxapi.php, но мне не хотелось инклудить его, ну и еще по некоторым причинам я отказался от этого варианта и решил установить PECL-пакет.
Тут то и начались проблемки, т.к. я никогда этого не делал.

Ты туда не ходи, ты сюда ходи

Значит скачал последнюю версию. Смотрю - это исходники. Ну думаю ок. Нашел на сайте PHP вот эту статейку. Выполнил все что там сказано. Конфигурирование не хочет работать - не хватает ему libsphinxclient. Последний есть в любых исходниках Sphinx. Wget -> tar -> configure --with-sphinx=/path/to/libsphinxclient. Все равно не видит.
Ну думаю, ладно, пойду еще поищу. Нашел - можно установить через pecl:
  1. 1
pecl install sphinx

Установил, перезапустил Apache, в тестовом файле сделал:
  1. 1
  2. 2
$SphinxClient = new SphinxClient();
$SphinxClient->setServer('localhost', 9312);

Ошибок нет, обрадовался. Но рано.
Попробовал что-нибудь найти, не ищет. Посмотрел ошибки, которые возвращает sphinx.
searchd error: client version is higher than daemon version (client is v.1.30, daemon is v.1.25)
Версия клиента больше версии демона, обалдеть.
Сначала я подумал, что это связано с тем, что я скачал последнюю версию Sphinx 2.2.9. И из него скомпилил libsphinxclient (api/libsphinxclient). Но через пару минут понял, что это бред. Pecl и libsphinxclient никак не связаны.

Удалил PECL Sphinx:
  1. 1
pecl uninstall sphinx

И тут я вспомнил, что при установке было нечто такое:
downloading sphinx-1.3.3.tgz

Решил попробовать сделать так:
  1. 1
pecl install sphinx-1.2.0

И оно заработало.

Вывод:

Не надо скачивать никакие исходники, компилировать их и искать зависимости.
Надо просто воспользоваться pecl.

libsphinxclient все же придется установить.
Но это просто:
  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
wget http://sphinxsearch.com/files/sphinx-2.2.9-release.tar.gz
tar -xzf sphinx-2.2.9-release.tar.gz
cd sphinx-2.2.9-release
chmod -R 777 *
cd ./api/libsphinxclient/
./buildconf.sh
./configure && make install


15 июля 2015 | Рубрика: Linux

Name:*

Feedback:

Message:*

Календарь

  • Сегодня
    17 Марта 2026, Вторник
    ПНВТСРЧТПТСБВС
    1
    2345678
    9101112131415
    16171819202122
    23242526272829
    3031

Авторизация