web-dev-qa-db-fra.com

Comment installer ImageMagick pour l'utiliser avec PHP sous Windows 7 (3)

Il y a d'autres discussions sur la façon d'installer Imagick sur Windows 7, mais aucune aide pour moi jusqu'à présent. :(

(Peut-être des problèmes sont venus avec des versions plus récentes)

J'ai suivi ces étapes pour installer:

  1. Téléchargez et installez ImageMagick 

    http://www.imagemagick.org/download/binaries/ImageMagick-6.8.8-1-Q16-x86-dll.exe

  2. Téléchargez php_imagick.dll et copiez-le dans l'extension dir (c:\xampp\php\ext)

    http://www.peewit.fr/imagick/php55/vc11/x86/ts/php_imagick.dll

  3. Editez le fichier php.ini et ajoutez une nouvelle extension (c:\xampp\php\php.ini)

    extension = php_imagick.dll

  4. Enregistrez le fichier ini et redémarrez Apache (si nécessaire, redémarrez Windows).

  5. Démarrer Apache et lancer le test

Lorsque je lance Apache, une fenêtre contextuelle s’affiche:

Le programme ne peut pas démarrer, car php5.dll est absent de votre ordinateur. Essayez de réinstaller le programme pour résoudre ce problème.

Puis tout de suite après, un autre:

Démarrage PHP: Impossible de charger la bibliothèque dynamique 'C:\xampp\php\ext\php_imagick.dll' - Le module spécifié est introuvable.

Selon funtioneer je soupçonne une sorte d'erreur de compilation.

Maintenant, j'ai PHP Version 5.5.6 (xampp 1.8.3) avec le compilateur MSVC11 qui est identique à celui du fichier php_imagick.dll.

Est-ce que télécharger ImageMagick à partir des sources et le compiler par moi-même est la bonne façon de faire? (jamais compilé dans Windows auparavant)

17
embe

Au lieu d'utiliser la dernière version, j'ai essayé de télécharger ImageMagick-6.7.7-5-Q16-windows-dll à partir de ici . Celui-ci fonctionnait réellement avec php_imagick.dll (Imagick pour PHP 5.5.x) à partir de http://www.peewit.fr/imagick/ .

Ce n'est pas la dernière version mais cela a fonctionné. (même sans redémarrer l'ordinateur)

23
embe

Voici ce qui a finalement fonctionné pour moi après avoir essayé presque toutes les solutions possibles publiées sur Internet:

Environnement:

OS: Windows Server 2008 R2 (64bit)

IIS: 7.5

PHP: 5.5.11 (x86)

PHP.ini: VC11, x86

Téléchargez et installez ImageMagick

ImageMagick-6.8.9-1-Q16-x86-dll.exe

Téléchargement correspondant .Zip des sources suggérées par Anatol (félicitations à Anatol!)

ImageMagick-6.8.9-1-vc11-x86:

Extrayez dans un dossier temporaire et copiez le contenu du dossier "bin" dans l’installation de Imagemagick (c:\imagemagick) dans mon cas, écrasant les fichiers.

Téléchargez .dll et mettez-le dans le dossier des extensions php .__ (j'ai utilisé celui-ci)

Imagick pour PHP 5.5.x Non Thread Safe de: http://www.peewit.fr/imagick/

Ajoutez l'extension à php.ini avec:

extension=php_imagick.dll

Enregistrer php.ini et redémarrer IIS

Enfin, les informations d'Image Magick étaient affichées dans un phpinfo (); appel.

C'est incroyable de penser à résoudre ce problème nécessaire pour télécharger des fichiers depuis 3 endroits différents.

J'espère que ça aide.

10
lithiumlab

Voici ce que j’ai fait pour que cela fonctionne Remarque: l’étape qui m’a vraiment fait trébucher et qui ne s’explique pas vraiment est que la version de php_imagick.dll doit correspondre à votre installation d’imagick

Ok, les mesures que j’ai prises étaientdownload php imagick dll depuis http://windows.php.net/downloads/pecl/releases/imagick/3.1.2/ (j’ai utilisé php_imagick-3.1. 2-5.5-ts-vc11-x86.Zip)

Gardez cela à l’esprit, nous aurons peut-être besoin de cela à l’avenir . Extrayez php_imagick.dll dans votre dossier d’extensions.

Mettez ça dans le dossier d'extension

IN php.ini ajouter Extension = php_imagick.dll

Maintenant, le problème est que nous devons savoir quelle version d’imagick le php_imagick.dll a été compilée pourOpen invite de commande et tapez php -e -v La façon dont je l’ai fait était avec le fichier Zip téléchargé précédemment, extraire les autres DLL dans votre dossier php un message d'erreur apparaîtra probablement indiquant quelque chose sur les DLL manquantes. Extrayez donc les DLL du dossier Zip d’avant dans votre dossier PHP . Essayez d’exécuter à nouveau php -e -v et cela devrait fonctionner correctement sans message d’erreur . Si tel est le cas, alors Redémarrez Apache. Maintenant, regardez phpinfo () et allez à la section imagick. Il dira la version d'ImageMagick: Mine a déclaré ImageMagick 6.8.6-8 qui est une version plus ancienne que celle dont ils disposent sur leur site. Le problème est que le nombre de formats pris en charge par ImageMagick: indiquera probablement zéro.

Allez ici et téléchargez la version correspondante et installez-la (lors de l'installation, assurez-vous que la case à cocher pour ajouter la variable chemin est cochée)

Une fois l'installation terminée, arrêtez Apache. Supprimez les DLL du dossier php que vous avez précédemment inséré et relancez Apache. Vérifiez Redémarrez Apache et tout devrait fonctionner.

7
Kris

S'il vous plaît voir installer-imagick-php-7 pour installer l'extension Imagick php sur Windows en utilisant PHP 7.0 +. C'est la seule solution que j'ai trouvée jusqu'à présent. Ça va dans les détails.

3
mdo123

La distribution ImageMagic qui devrait être utilisée est à partir d’ici http://windows.php.net/downloads/pecl/deps/ . Les fichiers binaires ImageMagic doivent être construits avec le même CRT que l’extension PHP.

3
Anatol Belski

MISE À JOUR: 21.08.2017

J'ai travaillé avec ImageMagick avec PHP 7 et IIS (Apache très similaire): Imagick Version. 3.4.3

PHP 7 versions x86, Windows Server 2012 x64, IIS 8.5

1) Installez VC++ 2015 https://www.Microsoft.com/en-US/download/details.aspx?id=48145

2) Obtenez SEULEMENTphp_imagick.dll de https://pecl.php.net/package/imagick

3) Mettez-le dans php/ext/folder et ajoutez extension=php_imagick.dll à php.ini 

Attention! Versions minimales prises en charge PHP> = 5.4.0 et ImageMagick> = 6.5.3-10.

ImageMagick 7 ne sont pas pris en charge pour le moment.

Regardez phpinfo:

 enter image description here

Vous devez installer ImageMagick 6.9.3-7 Q16 x86 4) installer ImageMagick 6.9.3-7 Q16 x86 dll À partir de http://ftp.icm.edu.pl/packages/ImageMagick/binaries/ Ne décochez "ajouter une variable au chemin".

5) redémarrer le serveur

c'est tout

2
Alexufo

Cela fonctionne en suivant les étapes.

php 5.5 32bit ts + Apache 2.4 + windows 10 64bit + Imagick 6.9.3-5 + php_imagick.dll ts

Vérifiez quel bit de votre bit système.

Choisissez une version php_imagick.dll dans http://windows.php.net/downloads/pecl/releases/imagick/

Trouver php_imagick.dll à partir du fichier .Zip

Si vous ne savez pas comment choisir.

Tapez php -v obtenir la version php à la fenêtre de la ligne de commande

Exécuter le code suivant montre quel type de php vous avez installé, thread safe ou non thread safe. Et cliquez sur ici vous aidera.

Sur Windows: php -i|find "Thread"

Sous Linux: php -i|grep Thread

ou vous pouvez exécuter la fonction phpinfo() et rechercher "Thread" sur une page Web.

Vous verrez Thread Safety enabled ou Thread Safety disabled

D'autres étapes ont déjà été écrites par @embe.

0
FavorMylikes

A présent, la documentation ne mentionne rien: définir la valeur MAGICK_HOME dans votre environnement. ImageMagick a besoin de cette variable pour savoir où trouver tous les codeurs pertinents.

Ouvrez le panneau de contrôle et recherchez 'PATH'. Dans les résultats, sélectionnez "Editer les variables d'environnement système". Sélectionnez l'option 'Variables d'environnement ...' et ajoutez une nouvelle 'Variable système' (la liste du bas). Si vous avez choisi un autre chemin d'installation, veillez à remplacer C:\img par votre propre chemin.

Variable: MAGICK_HOME

Valeur: C:\img\modules\codeurs

voir plus

0
ashkufaraz