Heute habe ich versucht, imagick
hundertmal in meinem xampp zu installieren. Und ich habe es geschafft. Wenn Sie Probleme haben, führen Sie die folgenden Schritte aus:
Win32 dynamic at 16 bits-per-pixel
herunterladen MÜSSEN.C:\imagemagick
.5.x Thread Safe (TS) x86
herunterladen. Das x in 5.x ist die Version Ihres PHP.php_imagick.dll
in den Ordner php/ext Ihrer xampp-Installation.extension=php_imagick.dll
php
in die Konsole schreiben (start-> cmd)), wird eine Fehlermeldung angezeigt. Wenn dieser Fehler ungefähr so aussieht: Unable to find the entry point for the procedure FlattenImages in the DLL CORE_RL_magick.dll
bedeutet, dass Sie auf gutem Weg sind.php_imagick.dll
überschreiben. Alle beginnen mit dem Präfix CORE_RL_
.php
in die Windows-Konsole zu schreiben. Wenn etwas nicht gesagt wird, bedeutet das, dass der Imagick funktional ist (Sie können localhost/xampp/ > phpinfo() link
einchecken. Ich persönlich musste eine neue DLL installieren: vcomp110.dll
. Wenn jemand den gleichen Fehler wie ich hat (das System kann den vcomp11.dd
nicht finden) hier herunterladenWenn Sie nun versuchen, php
auf der Konsole zu entschuldigen oder das Apache-Modul von xampp zu initialisieren, sollten Sie keine Fehler haben.
Auf Wiedersehen und hoffe ich kann jemandem helfen.
BEARBEITEN: Beim Versuch, convert some-img.bmp some-result.jpg
in der Konsole zu starten, hatte ich diesen Fehler: convert.exe: unable to open module file 'C:\Users\my-acc\.magick\IM_MOD_RL_BMP_.dll': No such file or directory @ ...
Dies geschah, wenn in .magick
kein Ordner my-acc
vorhanden ist. Das, was Sie tun müssen, ist folgendes:
Erstellen Sie einen Ordner mit dem Namen .magick
im Ordner my-acc
. Da der Name mit einem Stopp beginnt, müssen Sie ihn über die Konsole erstellen. Hier sind die Befehle:
1.1. c:
1.2. cd Users\my-acc
1.3. mkdir .magick
C:\imagemagick\modules\coders
und kopieren Sie die gesamten Dateien in den zuletzt erstellten Ordner.Nun können Sie Image Magick über die Befehle oder die PHP - Klassen verwenden.
Wenn Sie Codeigniter verwenden, habe ich im Hintergrund keine Idee, wie Sie image_lib mit imagick verwenden. Also besser mit den eigenen Imagick-Klassen. Hier ein einfaches Beispiel:
$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();
Diese Antwort mag sehr naiv sein, aber ich habe festgestellt, dass es in der Regel zu schmerzhaft ist, Dinge unter Windows zu erledigen. Viele Menschen stimmen dem zu und haben Trost in einem als "schokoladig" bezeichneten Werkzeug gefunden.
Installieren Sie zunächst chocolatey auf Ihrem Windows-Computer (Anweisungen für eine einfache Installation):
Verwenden Sie dann chocolatey, um alles weitere zu installieren, das Sie benötigen (in diesem Fall imagemagick):
https://chocolatey.org/packages/imagemagick
Ich vermute, dass Sie danach eventuell noch ein paar kleinere Anpassungen an den Konfigurationsdateien vornehmen müssen und alle "Windows-Berechtigungen" handhaben müssen, damit alles reibungslos funktioniert. Berechtigungen können so einfach (und nicht unbedingt sicher) sein wie "vollständige Kontrolle" für einige Benutzer. Außerdem können Sie die Vererbung aktivieren und die Einstellungen aller Kinder überschreiben, um die Vererbung zu verwenden.
Kurz gesagt, installieren, konfigurieren, Berechtigungen, los.
PS. Diese Antwort könnte unvollständig/prototypisch/experimentell sein, da ich Codeigniter, PHP und Imagemagick nicht unter Windows laufe.
Diese Anleitung von Winderfind ist wunderbar, aber für mich war es noch nicht vollständig, alle Probleme zu beheben. Schauen Sie sich zuerst dieses Tutorial an: http://hrt0kmt.hatenablog.com/entry/2015/05/27/170608
Zweitens habe ich festgestellt, dass nicht alle Versionen von ImageMagick mit allen Versionen von php_imagick.dll funktionieren. Weitere Informationen zur Fehlerbehebung finden Sie in meinen und anderen Antworten: Von ImageMagick unterstützte Formate. Kein Wert