Logo PHP

[PHP] Extension Imagick sous Windows 7-8 x64 et PHP 5.3/5.4

Bannière phpVoulant laisser de côté la librairie GD qui en plus d’être procédurale est vieille, buguée et parfois souvent pas évidente d’utilisation, j’ai choisi sur les conseils d’un bon ami (http://www.pixelpimp.fr/) d’utiliser l’extension Imagick. Cette extension était déjà supportée par mon précédent hébergeur (http://free-h.org/), j’ai voulu vérifier si c’était le cas, de base, avec EasyPHP 5.3. Et forcément, non. C’est pas une librairie standard.

Forcément aussi, je suis têtu et code donc sous Windows et en 64 bits, pour bien faire. Je vais expliquer ici brièvement quelles étapes j’ai du suivre pour voir cette extension fonctionner. Jusqu’ici, j’ai testé un script d’exemple qui ne faisait que redimensionner une image JPG et aucune erreur, que ce soit en local ou sur free-h. Mon hébergeur actuel, xpnet.eu, prend en charge lui aussi Imagick. XPNet.eu, c’est le bien. </pub>

L’article a été actualisé pour prendre en charge PHP 5.4 (ici, sous Easy-PHP 5.4.6), testé avec Windows 8 Pro x64.

A télécharger

– Un serveur Apache local en 32 bits (ici, EasyPHP 5.3.8) : http://www.easyphp.org/
– ImageMagick (ici, ImageMagick 6.5.4 Q16) : Lien directSource (prendre la version « dll »)
– L’extension Imagick, liée à l’installation d’ImageMagick : Lien direct – Source

Si vous possédez PHP 5.4 :

– ImageMagick 6.8.8 Q16 x86 dll : Lien direct – Miroir (Source)
– Extension PHP Imagick (prendre php_imagick_ts dans le dossier php54) : Lien directMiroir (Source)

Note : Il faudra copier tous les fichiers .dll de l’archive contenant php_imagick_ts et les mettre dans le dossier d’ImageMagick. Sans ça, il y aura un problème concernant des fichiers manquants.

Déroulement

Pour commencer, il faut que votre serveur web local soit fonctionnel. EasyPHP l’est de base et je le conseille car, contrairement à WAMP (qui est un des gros concurrents), il ne requiert pas les droits d’admin au lancement et est portable. Je n’ai jamais eu de souci avec, contrairement, encore une fois, à WAMP et l’interface est jolie (si si, c’est un argument !). Ceci étant dit, le choix duquel installer est à votre bon vouloir.

Ensuite, il faut savoir que certaines DLL (et j’imagine d’autres fichiers) sont nécessaires pour l’extension Imagick. Pour les avoir, il faut télécharger ImageMagick. J’ai testé plusieurs versions et beaucoup faisaient soit crash Apache, soit empêchaient totalement l’extension de se charger.

Cependant, en ayant pris la version 6.5.4-2-Q16-windows-dll et en prenant soin de rester avec des programmes en 32bits (EasyPHP se lance en 32 bits, c’est important à noter), l’extension s’est chargée et a effectué le redimensionnement correctement. En théorie, pas besoin de redémarrer l’ordinateur (avec les versions récentes d’EasyPHP du moins) mais dans le doute, autant le faire.

L’extension PHP à télécharger était conseillée par ce site, trouvé au fil de mes recherches sur notre ami à tous Google. Pour la suite, c’est un peu plus classique… On place le fichier dll dans le répertoire destiné à cet effet (à savoir : …\php\ext\) et on ajoute la ligne adéquate au fichier de configuration de php, php.ini. A la fin du fichier en général, ce qui donne ceci chez moi :

Et voilà. En théorie, pas d’erreur et Apache recharge la configuration de PHP dès que le fichier est modifié.

Sources utilisées

Elxsy.com
Veidrodis.com
Php.net (page sur l’extension)
Jeremycook.ca

Ce sont les sites qui m’ont aidé à résoudre mon problème bien spécifique, que ce soit par l’article ou les commentaires. Ce n’est donc pas applicable à tous les OS, toutes les machines. Cependant, j’espère que ça aura été utile.

peewit.fr nous propose d’autres dll, si rien ne fonctionne ici, testez ces fichiers.


Related Posts Plugin

Lyyn~

Lyyn~

L'informatique est un monde magique et complexe, partager quelques connaissances et astuces au travers de ce blog me permet de participer à la construction d'un web meilleur pour tous !