Sphinx als PHP-Modul zu erzeugen ist wichtig, um auf die Sphinx-API über PHP-Methoden zugreifen zu können.
So wirds gemacht :
tar -xzvf sphinx-0.9.8.1.tar.gz
cd sphinx-0.9.8.1/api/libsphinxclient/
./configure && make install
Danach kann PECL benutzt werden, um das PHP-Modul zu erstellen:
pecl install sphinx-beta
Bei der Version 0.9.9 gab es zumindest bei mir einen Fehler beim Kompilieren.
Im Sphinx-Forum gibt es einen Tipp dazu:
Here are the commands I used to install libsphinxclient and before this I successful
installed sphinx:
cd /path/to/sphinx/src/api/libsphinxclient/
sudo sh /path/to/sphinx/src/api/libsphinxclient/.buildconf.sh
sudo ./configure
sudo make
sudo make install
But when I used “sudo make” I got this error:
sphinxclient.c:1216: error: static declaration of ‘sock_close’ follows non-static
declaration
sphinxclient.c:280: note: previous declaration of ‘sock_close’ was here
So I checked the file.
On line: 280
void sock_close ( int sock );
On line: 1216
static void sock_close ( int sock )
{
#if _WIN32
closesocket ( sock );
#else
close ( sock );
#endif
}
I changed the line 280 to:
static void sock_close ( int sock );
Das hat den Fehler bei mir beseitigt. Nun muss nur noch nach der Modul-Erstellung mit PECL unter etc/php5/apache2/php.ini
folgender Eintrag eingefügt werden:
[sphinx]
extension=sphinx.so
Das wars. Nach einem Neustart des Apache-Servers kann nun die PHP-API für Sphinx benutzt werden.
phpinfo() sollte nach der Installation diesen Eintrag aufweisen:
sphinx
sphinx support enabled
Version 1.0.3
Revision $Revision: 292826 $
Wer neben der PHP-API auch SphinxSE (also die Sphinx-Engine für MySQL) verwenden möchte, dem sei dieser Artikel ans Herz gelegt.
Falls beim Kompilieren von Sphinx unter Ubuntu 9.10 ( Karmic) folgende Fehlermeldung erscheint:
“Check that you do have MySQL include files installed. The package name is typically ‘mysql-devel’ ”
Folgender Befehl sollte das Problem lösen:
apt-get install libmysql++-dev
Unter sorgalla.com wird auch beschrieben, wie SphinxSE mit dem Zend Framework integriert werden kann. Feine Sache!


[...] Installation findet ihr eine recht nette Anleitung findet man beim semanticblog und auf [...]