ok, então aqui está a resposta completa:
Faça o download das bibliotecas necessárias
$ cd ~/download
$ yum install libsndfile-devel unzip
$ wget https://downloads.sourceforge.net/project/cimg/CImg-1.5.4.zip
$ wget http://phash.org/releases/pHash-0.9.5.tar.gz
$ wget http://www.mega-nerd.com/SRC/libsamplerate-0.1.8.tar.gz
$ wget http://sourceforge.net/projects/mpg123/files/mpg123/1.15.1/mpg123-1.15.1.tar.bz2/download
Compile a biblioteca necessária para o pHash. Precisamos ativar o suporte de áudio e imagem por causa da extensão do PHP.
$ tar xvf libsamplerate-0.1.8.tar.gz
$ cd libsamplerate-0.1.8
$ ./configure
$ make && make install
$
$ tar xvf mpg123-1.15.1
$ cd mpg123-1.15.1
$ ./configure
$ make && make install
We need to copy CImg.h in the /user/local/include folder
$ unzip CImg-1.5.4.zip
$ cp CImg-1.5.4/CImg.h /usr/local/include
Compilar biblioteca pHash
$ tar xvf pHash-0.9.5.tar.gz
$ cd pHash-0.9.5
$ ./configure --enable-video-hash=no
$ make && make install
Compile the PHP extension
$ cd bindings/php
$ phpize
$ ./configure LIBS="-lpthread"
Edite o pHash.cpp
Eu tive que editar o pHash.cpp para corrigir um erro de compilação. Eu acho que você só precisa fazer isso se você estiver usando php > = 5.3
$ vi /root/download/pHash-0.9.5/bindings/php/pHash.cpp
# line 106, replace "function_entry" by "zend_function_entry"
# save and close
Finish the compilation
$ make
$ make test
$ make install
# finally enable pHash in the php.ini adding extension=pHash.so
# restart apache
Opcional - Se você quiser armazenar o hash no banco de dados (SQL):
Você precisa editar o pHash.cpp para modificar o valor de retorno para o hash.
Por padrão ph_dct_imagehash($file)
return a *ulong64
(pointer) precisamos recuperar uma string para armazená-la no banco de dados.
veja: link