Installer XHProf sous Ubuntu 9.10 et PHP5.3 (dotdeb)
Si comme moi vous utilisez les dépôts dotdeb sur votre Ubuntu / Debian, l’installation de l’extension XHProf peut s’avérer fastidieuse…
Voici la procédure normale :
wget http://pecl.php.net/get/xhprof-0.9.2.tgz tar xvfz xhprof-0.9.2.tgz cd xhprof-0.9.2/extension phpize ./configure make sudo make install sudo make test
On télécharge, on compile, on installe et on test. Si vous n’avez aucun soucis jusque là, GOOD FOR YOU. Vous pouvez modifier votre php.ini et jouer avec XHProf :
[xhprof] extension=xhprof.so ; ; directory used by default implementation of the iXHProfRuns ; interface (namely, the XHProfRuns_Default class) for storing ; XHProf runs. ; xhprof.output_dir=(A REMPLIR)
Maintenant si vous êtes comme moi, vous obtiendrez surement une erreur du style :
PHP Warning: PHP Startup: xhprof: Unable to initialize module Module compiled with module API=20060613 PHP compiled with module API=20090626 These options need to match
Normal ! Vous venez de compiler le module avec la mauvaise version de php5-dev (et donc de phpize). Pour vérifier votre version, faite un phpize -v, si vous êtes en PHP 5.3 ça devrait être 20090626.
Un petit tour dans apt-get nous apprend que php5-dev ne peux pas être mis à jour :
libtool (>= 2.2) mais 2.2.6a-4 devra être installé
Cette erreur ne veux pas dire grand chose, je ne l’ai toujours pas compris, mais il existe une solution ! Downgrader à la main libtool et réinstaller le tout (car php5-dev est bien disponible chez dotdeb dans la version qui va bien) :
cd /tmp wget http://fr.archive.ubuntu.com/ubuntu/pool/main/libt/libtool/libtool_1.5.26-1ubuntu1_i386.deb sudo apt-get remove libtool sudo dpkg -i libtool_1.5.26-1ubuntu1_i386.deb sudo apt-get install php5-dev
Maintenant que vous avez la bonne version de php5-dev tout devrait rouler (vous pouvez recommencer depuis le début de ce post :P), et là j’ai eu le problème avec XHProf mais j’aurais pu avoir le même sur n’importe quel compilation de module.