it-swarm.com.de

Schwerwiegender Fehler: Die Klasse 'Imagick' wurde nicht gefunden

Ich versuche die imagemagic php-Erweiterung unter WampServer 2 zu installieren.

  • Ich habe ImageMagick heruntergeladen und installiert. Ich habe ImageMagick-6.8.8-10-Q16-x86-dll.exe ausgewählt

  • Ich habe die PHP-Erweiterung heruntergeladen. 

  • Ich habe die gerade heruntergeladene DLL-Erweiterung nach C:\wamp\bin\php\php5.4.16\ext\verschoben.

  • Ich habe php.ini geändert (Zugriff über Wamp-Tray-Icon> Rechtsklick> PHP> php.ini) und den Erweiterungslisten "extension = php_imagick.dll" ohne Anführungszeichen hinzugefügt.

  • Ich habe Apache neu gestartet. Ich bemerkte nicht die Erweiterung, die in der Erweiterungsliste PHP vom Tray-Icon angezeigt wurde, und startete den Wampserver neu. Die Erweiterungen von ImageMagick werden jetzt in der Liste aktiviert angezeigt.

Ich kann es jedoch nicht verwenden. Wenn Sie einen Schnelltest durchführen, wird "Fataler Fehler: Klasse" Imagick "nicht gefunden" angezeigt. In phpinfo () wird nur angezeigt, dass der Imagemagick zu env-Variablen hinzugefügt wurde.

wenn ich versuche, den Imagick zu testen:

$im = new imagick( 'test.jpg' );
// resize by 200 width and keep the ratio
$im->thumbnailImage( 200, 0);
 // write to disk
$im->writeImage( 'test_thumbnail.jpg' );

Ich erhalte die Fehlermeldung: Fatal error: Class 'imagick' not found Was mache ich falsch? Ich arbeite mit win7 32 bit, phph 5-4-16 und Apache2

17
Dev DOS

Die einzige Möglichkeit, die es funktioniert, besteht in der Verwendung einer älteren Version von imagick: php_imagick-3.2.0b1-5.4-nts-vc9-x86

1
Dev DOS
  • Versuchen Sie: php -m | grep imagick.
  • Wenn das Ergebnis leer ist, mache: Sudo apt-get remove --purge php5-imagick && Sudo apt-get install php5-imagick

Grüße

8
Amadu Bah

Möglicherweise haben Sie falsch ausgerichtete Bibliotheksversionen.

So habe ich es gelöst

Mit all diesen Antworten hatte ich wirklich zu kämpfen. Rückblickend stellte ich fest, dass die meisten von ihnen richtig sind, außer dass sie einige sehr feine Details auslassen, die entscheidend sind.

1). Bevor Sie mit dem Herunterladen von Bibliotheken oder DLLs beginnen, die Sie mit Ihrer php_info , um diese drei sehr wichtigen Parameter herauszufinden.

Führen Sie PHP_Info aus und überprüfen Sie:

  1. Architektur: x86 oder x64. Ihr Computer könnte x64 sein, aber Ihr PHP läuft auf x86, also nehmen Sie nicht an
  2. Fadensicherheit: ja oder nein. Auch sehr wichtig.
  3. Ihre PHP Version

2). Laden Sie ImageMagick herunter von: https://windows.php.net/downloads/pecl/deps/ . Mein Computer ist x64, aber auf meinem PHP läuft x86, also habe ich ImageMagick-7.0 heruntergeladen. - vc * -x86.Zip

3). Entpacken und kopieren Sie alle DLLs aus dem entpackten bin-Unterordner in das Apache bin-Verzeichnis. Es ist eine Reihe von CORE_RL _ . Dll und IM_MOD_RL _. Dll sowie einige andere DLLs. In meinem Fall [zippeddownload]/bin/* -> kopiert nach -> C:\Xampp\Apache\bin

4). Gehen Sie zu http://pecl.php.net/package/imagick . Sie können den Zip-Link oder nur den DLL Link auswählen. Ich bevorzuge den DLL Link. In meinem Fall habe ich die neueste Version 3.4.3 ausgewählt Ich zu https://pecl.php.net/package/imagick/3.4.3/windows Hier müssen wir eine andere sorgfältige Wahl treffen

  1. Meine PHP-Version ist PHP 5.6
  2. Threadsicherheit ist aktiviert
  3. Architektur, auf der PHP läuft, ist x86
  4. Also nahm ich 5.6 Thread Safe (TS) x86

5). Entpacken und kopieren Sie "php_imagick.dll" in das PHP-Verzeichnis ext Mappe. Und alle anderen DLL Dateien in den PHP Ordner

6). Öffnen Sie php.ini mit einem Editor. Suchen Sie nach "extension =" und fügen Sie diese Zeile extension = php_imagick.dll als eine davon hinzu.

7). Starten Sie Xampp/Wamp neu oder starten Sie Apache neu und führen Sie PHP_INFO erneut aus. Imagick sollte angezeigt werden. Wenn Sie es immer noch nicht sehen können, verweisen Sie auf diesen Link http://php.net/manual/en/imagick.setup.php#119084

Bonus-Tipp: Möglicherweise müssen Sie Visual C++ 14 Runtime herunterladen. Über diesen Link https://support.Microsoft.com/en-us/help/2977003/the-latest-supported-visual-c-downloads Ich habe die neueste Version ausgewählt.

2
Maxximum Rider

führen Sie eine <?php phpinfo(); ?> auf einer beliebigen Seite aus. Daraufhin werden alle Dienste angezeigt, die auf dem Dienst ausgeführt werden. Wenn es läuft, zeigt es Ihnen in welchem ​​Verzeichnis.

Wenn Sie das WHM-Bedienfeld verwenden, müssen Sie dort möglicherweise ImageMagick installieren

0
earnest
apt-get install pkg-config libmagickwand-dev -y
cd /tmp
wget https://pecl.php.net/get/imagick-3.4.0.tgz
tar xvzf imagick-3.4.0.tgz
cd imagick-3.4.0
phpize
./configure
make install
rm -rf /tmp/imagick-3.4.0*
echo extension=imagick.so >> /etc/php/7.0/cli/php.ini
echo extension=imagick.so >> /etc/php/7.0/fpm/php.ini
service php7.0-fpm restart
service nginx restart

von Installiere Imagick 3.4.0 auf PHP 7

0
Won Jun Bae

Haben Sie versucht, das richtige Gehäuse für die Klasse zu verwenden, beginnend mit "i".

$im = new Imagick( 'test.jpg' );

In PHP, Klassen- und Dateinamen und nicht zwischen Groß- und Kleinschreibung, Klassenlader jedoch.

0
Paulo Amaral