Frage ImageMagick Installation MediaTemple GridServer


Ich habe die ImageMagick Erweiterung wie in der KnowledgeBase-Artikel

Grundsätzlich, diese Zeile hinzufügen php.ini:

open_basedir = /nfs:/tmp:/usr/local:/etc/apache2/gs-bin:/usr/bin/convert

Dies scheint jedoch nicht zu funktionieren.
Dieses Skript gibt die Versionsnummer aus:

$IM_version=shell_exec("/usr/bin/convert -version");
echo $IM_version;

Allerdings, wenn ich versuche, das zu verwenden Imagick Klasse Ich bekomme einen Fehler.

try
{
        /*** a new imagick object ***/
        $im = new Imagick();

        /*** Create a red rectangle  ***/
        $im->newImage( 200, 100, "red", "png" );

        /*** write image to disk ***/
        $im->writeImage( '/tmp/rectangle.png' );

        echo 'Image Created';
}
catch(Exception $e)
{
        echo $e->getMessage();
}


Error:

Fatal error: Class 'Imagick' not found in /xxxxxxxxxxxxxxx/html/mt.php on line 8

Irgendwelche Ideen, was ich falsch mache oder was der nächste Schritt zur Fehlersuche ist?

Ich habe den MediaTemple-Support kontaktiert und sie haben es einfach gesagt "Tut mir leid, aber weil das Skript die Versionsnummer ausgibt, beweist es, dass es installiert ist"


7
2017-08-29 19:37


Ursprung


Antworten:


Ok, ich habe das funktioniert, aber es war ein bisschen schwierig. Hier geht...

Zuerst sollten Sie ImageMagick von der Quelle installieren. Dieser Schritt kann optional sein, wenn Sie bereits Zugriff auf 'MagickWand-config' haben, aber es war nicht in meinem Weg. Hier waren die Schritte, denen ich gefolgt bin, um es in ein alternatives Verzeichnis auf dem (gs) zu installieren:

Hinweis: Ab diesem Beitrag war die neueste Version 6.8.9.3.

$ wget http://www.imagemagick.org/download/ImageMagick-6.8.9-3.tar.gz
$ tar xvfz ImageMagick-6.8.9-3.tar.gz
$ cd ImageMagick-6.8.9-3
$ mkdir /home/#####/etc/imagemagick
$ ./configure --prefix=/home/#####/etc/imagemagick
$ make
$ make install

Die Imagick PHP-Klasse ist eine PECL-Erweiterung, daher werden wir sie mit dem bereitgestellten Programm installieren KB von Media Temple mit einer Änderung. Hier sind die Schritte:

$ export SITEID=`pwd | awk -F\/ '{ print $3 }'`
$ export PHPPATH=`php-stable -i | grep "Configure Command" | perl -pe "s/.*'.\/configure'\s*?'--prefix\=(.*?)'.*/\1/"`
$ mkdir /home/$SITEID/data/lib
$ mkdir /home/$SITEID/data/lib/php/
$ wget http://pecl.php.net/get/imagick && tar zxvf imagick && cd imagick-* && $PHPPATH/bin/phpize

Hier weicht unser Skript von den Anweisungen ab. Wir müssen den Pfad zu unserer ImageMagick-Installation angeben, um 'MagickWand-config' zu verwenden. Wenn dies nicht angegeben ist, wird der folgende Fehler angezeigt:

Überprüfung des ImageMagick MagickWand API-Konfigurationsprogramms ...   configure: Fehler: nicht gefunden. Bitte geben Sie einen Pfad an   MagickWand-config oder Wand-config Programm.

Wenn Sie einen alternativen Speicherort für die Quellinstallation von ImageMagick verwendet haben, ersetzen Sie den Pfad für "--with-imagick" durch diesen Pfad.

$ ./configure --with-php-config=$PHPPATH/bin/php-config --with-imagick=/home/#####/etc/imagemagick

Die normalen Anweisungen wieder aufnehmen:

$ make && cp modules/*.so /home/$SITEID/data/lib/php

Aktualisieren Sie Ihre php.ini-Datei, die sich unter /home/#####/etc/php.ini befinden sollte, und fügen Sie diese zwei Zeilen hinzu:

erweiterung_verz = / home / ##### / daten / lib / php /

Erweiterung = imagick.so

Sobald es fertig ist, hier ist das Skript, das ich ausgeführt habe:

<?php

$IM_version=shell_exec("/usr/bin/convert -version");
echo $IM_version;

if (!extension_loaded('imagick'))
{
    echo "imagick not installed\n";
}
else
{
    echo "imagick installed\n";
}


try
{
        /*** a new imagick object ***/
        $im = new Imagick();

        /*** Create a red rectangle  ***/
        $im->newImage( 200, 100, "red", "png" );

        /*** write image to disk ***/
        $im->writeImage( '/tmp/rectangle.png' );

        echo 'Image Created';
}
catch(Exception $e)
{
        echo $e->getMessage();
}

Ausgabe:

Version: ImageMagick 6.6.0-4 2012-05-03 Q16 http://www.imagemagick.org
Copyright: Copyright (C) 1999-2010 ImageMagick Studio LLC
Features: OpenMP 

imagick installed
Image Created

18
2017-10-11 02:57