Aujourd'hui, j'ai essayé d'installer imagick
dans mon xampp une centaine de fois. Et je l'ai fait. Si vous avez des problèmes, veuillez suivre ces étapes:
Win32 dynamic at 16 bits-per-pixel
.C:\imagemagick
.5.x Thread Safe (TS) x86
. Le x dans 5.x est la version de votre PHP.php_imagick.dll
dans le dossier php/ext de votre installation xampp.extension=php_imagick.dll
php
dans la console (start-> cmd)), vous obtiendrez une erreur. Si cette erreur dit quelque chose comme ceci: Unable to find the entry point for the procedure FlattenImages in the DLL CORE_RL_magick.dll
, cela signifie que vous êtes en bonne voie.php_imagick.dll
. Ils commencent tous par le préfixe CORE_RL_
.php
dans la console Windows. Si vous ne dites pas quelque chose, cela signifie que l’imagick est fonctionnel (vous pouvez archiver localhost/xampp/ > phpinfo() link
. Personnellement, j’ai dû installer une nouvelle DLL: vcomp110.dll
. Si quelqu'un a la même erreur que moi (le système n’a pas trouvé le vcomp11.dd
) Télécharger les iciMaintenant, si vous essayez d'exécuter php
sur la console ou d'initialiser le module Apache de xampp, vous ne devriez pas avoir d'erreur.
Au revoir et j'espère pouvoir aider quelqu'un.
EDIT: lorsqu’on a essayé de convert some-img.bmp some-result.jpg
dans la console, j’ai eu l’erreur suivante: convert.exe: unable to open module file 'C:\Users\my-acc\.magick\IM_MOD_RL_BMP_.dll': No such file or directory @ ...
Ceci se produit quand il n’ya pas de dossier .magick
dans my-acc
. La chose que vous devez faire est la suivante:
Créez un dossier nommé .magick
dans le dossier my-acc
. Comme le nom commence par un arrêt, vous devez le créer via la console. Voici les commandes:
1.1. c:
1.2. cd Users\my-acc
1.3. mkdir .magick
C:\imagemagick\modules\coders
et copiez tous les fichiers dans le dernier dossier créé.Maintenant, vous pourrez utiliser Image Magick avec les commandes ou les classes PHP.
Sur le fond, si vous utilisez Codeigniter, je ne sais pas comment utiliser image_lib avec imagick. Donc, c'est mieux avec les propres classes d'imagick. Voici un exemple simple:
$image = new Imagick($upload_data['full_path']);
$image->thumbnailImage(250,0);
if($image->writeImage($upload_data['file_path'].$upload_data['raw_name'].'_thumb'.$upload_data['file_ext'])){
something here;
}
$image->clear();
Cette réponse est peut-être extrêmement naïve, mais j’ai trouvé que faire des choses dans Windows est généralement trop pénible. De nombreuses personnes sont d'accord avec cela et ont trouvé du réconfort dans un outil appelé "chocolaté".
Tout d’abord, installez Chocolatey sur votre ordinateur Windows (instructions d’installation extrêmement simples):
Ensuite, utilisez chocolatey pour installer tout ce dont vous avez besoin (imagemagick dans ce cas):
https://chocolatey.org/packages/imagemagick
Je suppose que vous devrez peut-être apporter quelques modifications mineures aux fichiers de configuration, et gérer toutes les "autorisations Windows" nécessaires au bon fonctionnement de votre système. Les autorisations peuvent être aussi simples (et pas nécessairement sûres) que le "contrôle total" pour certains utilisateurs, en plus d'activer l'héritage et de remplacer les paramètres de tous les enfants afin qu'ils utilisent l'héritage.
En bref, installer, configurer, autorisations, allez.
PS. Cette réponse pourrait être incomplète/prototypique/expérimentale, car je n'exécute pas codeigniter, php, imagemagick sous Windows.
Ce tutoriel sur Winderfind est merveilleux, mais pour moi, ce n’était pas encore terminé de résoudre tous les problèmes. Tout d’abord, jetez un coup d’œil à ce tutoriel: http://hrt0kmt.hatenablog.com/entry/2015/05/27/170608
Deuxièmement, j'ai découvert que toutes les versions d'ImageMagick ne fonctionneraient pas avec toutes les versions de php_imagick.dll. Consultez mes réponses et d’autres sur ce post pour plus de dépannage: Formats pris en charge par ImageMagick sans valeur