2010-09-24 5 views
43

Ich bekomme den Fehler "Class 'Imagick' nicht gefunden". Irgendwie muss ich diese Bibliothek für PHP zugänglich machen. Ich benutze PHP 5.2.6 auf Fedora 8. Mein php_info erwähnt ImageMagick nicht.PHP-Fehler: Klasse 'Imagick' nicht gefunden

Ich habe versucht: yum ImageMagick installieren und Apache neu gestartet, die nicht funktionierte.

Ich habe auch extension = imagick.ext meiner php.ini Datei hinzugefügt und Apache neu gestartet, was nicht funktioniert hat.

+0

Haben Sie nach einem Bild Magick PHP-Erweiterung gesucht? Ich stelle mir vor, dass Sie etwas zwischen der C-Bibliothek und Ihrer PHP-Klasse benötigen. – Vinzius

+0

Alle meine Erweiterungen sind * .so nicht * .ext? –

+3

"hat nicht funktioniert" sehr gut sehr nützlich –

Antwort

18

Von: http://news.ycombinator.com/item?id=1726074

Für RHEL-basierte i386-Distributionen:

yum install ImageMagick.i386 
yum install ImageMagick-devel.i386 
pecl install imagick 
echo "extension=imagick.so" > /etc/php.d/imagick.ini 
service httpd restart 

Dies auch auf anderen i386 Distributionen funktionieren kann mit yum Paket-Manager. Für x86_64, nur ersetzen .i386 mit .x86_64

+0

Das ist, was endlich für mich funktioniert hat. Ich hatte andere Versuche durchgeführt, die alles außer der zweiten Linie beinhalteten. Was auch immer 'yum installiere ImageMagick-devel.i386' hat es für mich behoben. – James

43

für alle jene, die Probleme mit diesem ich dieses Tutorial tat:

Wie Imagemagick und Php-Modul Imagick auf Ubuntu installieren?

Ich habe diese 7 einfachen Schritten:

Update-Bibliotheken und Pakete

apt-get update 

entfernen veraltete Dinge

apt-get autoremove 

Für die Bibliotheken von ImageMagick

apt-get install libmagickwand-dev 

für die Kernklasse Imagick

apt-get install imagemagick 

Für die Binärdateien erstellen und conections in beetween

pecl install imagick 

die Erweiterung Anhängen an Ihre php.ini

echo "extension=imagick.so" >> /etc/php5/apache2/php.ini 

Restart Apache

service apache2 restart 

fand ich ein Problem. PHP sucht nach .so-Dateien in einem Ordner mit dem Namen/usr/lib/php5/20100525, und imagick.so wird in einem Ordner namens/usr/lib/php5/20090626 gespeichert. Sie müssen also die Datei in diesen Ordner kopieren.

+0

Die Frage, wie geschrieben, gibt Fedora an. Ich würde vorschlagen, etwas hinzuzufügen, ob diese Schritte für Ubuntu wahrscheinlich auch auf Fedora funktionieren oder welche Bits möglicherweise geändert werden müssen. –

+0

Bit besorgt über Schritt 6. Wollen Sie wirklich php.ini Clobber? Oder sollte das ">>" zum Anhängen sein? –

+0

Ich musste "apt-get installieren php5-dev php-pear", um die Schritte auf Debian Wheezy – juanmf

6

Ubuntu

sudo apt-get install php5-dev pecl imagemagick libmagickwand-dev 
sudo pecl install imagick 
sudo apt-get install php5-imagick 
sudo service apache2 restart 

Einige Abhängigkeiten werden wahrscheinlich bereits erfüllt werden, aber ohne den Apache-Dienst, das ist alles, was für PHP benötigt, um die Imagick Klasse.

7

Für MAMP laufen auf Mac OSX

die, welche Version von PHP Finden Sie heraus, und installieren Sie die richtige Version über Gebräu

brew install homebrew/php/php56-imagick 

die Erweiterung hinzufügen, indem Sie die php.ini-Vorlage in MAMP modifiziert

enter image description here

überprüfen Imagick

enter image description here

+1

für ** php 7.0 ** =>' brew install php70-imagick' * 'sudo Gebräu-Dienste neu starten php70' –

4

Debian 9

Ich habe gerade die folgende und alles andere automatisch mitinstalliert benötigt wurde.

sudo apt-get -y -f install php-imagick 
sudo /etc/init.d/apache2 restart 
+0

Mit PHP7: sudo apt-get php7.0-imagick -y Service apache2 Neustart installieren * pHP 7.1 ** =>' Gebräu php71-imagick' _Restart Service_ installieren – DjimOnDev