date: 18 Dec 2010 title: Utiliser la fonction PHP imagerotate() sous Debian tags: Debian, php, planet-evolix, planet-libre imagerotate est une fonction PHP qui, comme son nom l'indique, permet de tourner une image selon un angle. Cependant elle n'est disponible que si PHP a été compilé avec la version embarqué de la bibliothèque GD. Sous Debian ce n'est pas le cas, car cette version est difficilement maintenable au niveau sécurité (cf le [bug report Debian](http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=321237)) Pour contourner le problème, en cherchant un peu sur le net ([ici pa exemple](http://www.mattiouz.com/blog/2010/01/28/recompiling-php5-to-get-imagero tate-and-other-functions-on-debian)), beaucoup de monde recompile PHP avec la version embarqué de GD. Ce n'est à mon avis pas la meilleure solution au niveau "maintenabilité". Voici donc 2 autres possibilités : ## Utiliser les dépôts dotdeb Les [dépôts dotdeb](http://www.dotdeb.org/) contiennent des versions plus récentes et/ou modifiés de paquets Debian pour serveurs LAMP. Le paquet php5 présent dans dotdeb est justement compilé avec la version embarqué de la bibliothèque. ## Réécrire la fonction imagerotate() Si vous n'avez besoin que de cette fonction et que vous n'avez pas envi d'utiliser la version embarqué de GD, il est tout à fait envisageable de réécrire la fonction en question : readImage($temp_src); $imagick->rotateImage(new ImagickPixel($bgd_color?$bgd_color:'black'), $angle); $imagick->writeImage($temp_dst); //trigger_error( 'imagerotate(): could not write to ' . $file1 . ', original image returned', E_USER_WARNING ); $result = imagecreatefromjpeg($temp_dst); unlink($temp_dst); unlink($temp_src); return $result; } } ?>