2016-05-08 9 views
1

Es war 3 Tage der Forschung, Google und Frustration zu machen imagick Arbeit auf meiner XAMPP-Box. Ich kann es so weit bringen, es als PHP-Modul zu machen. Es kann jedoch keine unterstützten Formate erkennen. enter image description hereKann Imagick nicht erkennen, unterstützte Format auf Windows + PHP 5.6 (Xampp)

Wie Sie sehen können, habe ich zur Zeit 3.1.2 installiert ist, aber ich arbeitete tatsächlich den ganzen Weg von der jüngsten 3.4.1 und aus diesen Versionen mit stable getaggt springen, aber ich kann es einfach nicht funktioniert .

Wenn ich versuche zu laufen:

<?php 
$handle = fopen('http://xxxxx.png', 'rb'); 
$img = new Imagick(); 
$img->readImageFile($handle); 
$img->thumbnailImage(100, 0); 
echo $image; 

Ich erhalte:

Uncaught exception 'ImagickException' with message 'Unable to read image from the filehandle' in xxxxx:5 Stack trace: #0 xxxxx\index.php(5): Imagick->readimagefile(Resource id #3) #1 {main} thrown in xxxxx\index.php on line 5 

Was ich habe, ist:

Windows 8.1 64-bit 
PHP 5.6.12, x86, TS 

(http://i.imgur.com/2pnneqO.png)

Dies ist, was Eigentlich in Bezug auf bisher getan haben, ist es für die Installation:

und kann immer noch nicht meine PHP machen erkennen Imagick Datei unterstützt Formate, obwohl sie http://prntscr.com/b1l54u sein sollten: (

Kann mir jemand sagen, was ich vermisst habe? Bitte?

+0

Haben Sie das Problem gelöst? Ich habe das gleiche Problem. –

Antwort

0

Sie scheinen ein bisschen eine komplizierte Route zu gehen.

Die Methode, die ich verwendet, um es zu installieren, wenn ich es war, hatte ausgeführt wird:

  • herunterladen und installieren ImageMagick mit einer EXE-Datei
    1. Laden und installieren Sie Ghostscript mit einer EXE-Datei - stellen Sie sicher, lassen Sie es hinzufügen der Pfad zu den Umgebungsvariablen. Du brauchst diesen Schritt vielleicht nicht, aber ich wollte Imagemagick verwenden Ich bin sowieso meine Webseite und auf meinem Computer.
    2. Laden Sie die Imagick DLL-Datei herunter und legen Sie sie in den empfohlenen Ordner - ich kann mich nicht mehr erinnern, was jetzt.
    3. Entfernen Sie die Option Imagick in der Datei php.ini. Ich hatte zwei oder drei php.ini Dateien auf meinem System und ich tat es in jedem.
    4. Der Computer wurde ausgeschaltet und neu gestartet. XAMPP gestartet und es hat funktioniert.

    Dies funktioniert nur für ein paar Installationen und wenn ich das Betriebssystem aktualisiert habe, konnte ich es wegen inkompatibler Versionen von PHP und der Imagick.dll nicht zum Laufen bringen. Wenn ich Imagick jemals benutzen möchte, würde ich es auf meinem Server tun, da die Hosts es dort für mich installiert haben. Sie können Ihren Code weiterhin lokal schreiben und auf Ihrem Produktionsserver testen. Es ist ein bisschen ein Schmerz, aber wahrscheinlich schneller/einfacher als zu versuchen, Imagick auf Ihrem PC arbeiten zu lassen.

    Aus Interesse gab ich es auf und verwende Imagemagick mit exec() und der Befehlszeile.

  • +0

    Entschuldigung, nur verwirrt, dieses Ghostscript? http://ghostscript.com/ Ich habe es installiert, aber es scheint, als wäre es nur eine Befehlszeile? Was soll es tun? Wenn ich deinen Guide richtig verstanden habe, habe ich dasselbe wie dein Guide gemacht, außer dass ich Ghostscript installieren sollte? Ich habe es gemacht, aber andere Formate werden immer noch nicht erkannt. Vielen Dank! –

    +0

    Das ist seltsam @TheWolf, als jedes Mal, wenn ich Imagick installiert habe, es sofort funktionierte, bis ich die richtige DLL-Datei nicht finden konnte. Zu der Zeit, als der Typ, der die DLL-Dateien zur Verfügung gestellt hatte, damit aufhörte. Ghostscript ist ein PDF-Programm und wird benötigt, damit Imagemagick mit PDF-Dateien arbeiten kann. Lesen Sie Ihren Post erneut, was passiert, wenn Sie eine lokale Datei versuchen und eines der einfachen Beispiele von der PHP-Site verwenden: http://php.net/manual/en/imagick.resizeimage.php – Bonzo