2010-09-24 15 views
43

Viene visualizzato l'errore "Classe 'Imagick' non trovato". In qualche modo ho bisogno di rendere questa libreria accessibile a php. Sto usando Php 5.2.6 su Fedora 8. my php_info non ha alcun riferimento a ImageMagick.errore php: Classe 'Imagick' non trovata

Ho provato: yum installa ImageMagick e riavviato apache, che non ha funzionato.

Ho anche aggiunto extension = imagick.ext al mio file php.ini e riavviato apache, che non ha funzionato.

+0

Hai cercato un'estensione di immagine magick php? Immagino che tu abbia bisogno di qualcosa tra la libreria C e la tua classe PHP. – Vinzius

+0

Tutte le mie estensioni sono * .so not * .ext? –

+3

"non ha funzionato" molto bene molto utile –

risposta

18

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

Per le distribuzioni i386 RHEL basate su:

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

Questo può funzionare anche su altre distribuzioni i386 usando yum gestore di pacchetti. Per x86_64, basta sostituire .i386 con .x86_64

+0

Questo è quello che ha funzionato alla fine per me. Avevo eseguito altri tentativi che includevano tutto tranne la seconda riga. Qualunque cosa 'yum install ImageMagick-devel.i386' ha risolto per me. – James

43

gli occhi di tutti coloro che hanno problemi con questo ho fatto questo tutorial:

Come installare il modulo Imagemagick e PHP Imagick su Ubuntu?

ho fatto 7 semplici passi:

aggiornamento delle librerie, e pacchetti

apt-get update 

rimuovere le cose obsolete

apt-get autoremove 

Per le biblioteche di ImageMagick

apt-get install libmagickwand-dev 

per la classe principale Imagick

apt-get install imagemagick 

Per creare i binari, e conections in beetween

pecl install imagick 

aggiungere l'estensione al php.ini

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

Riavviare Apache

service apache2 restart 

ho trovato un problema. PHP cerca i file .so in una cartella chiamata/usr/lib/php5/20100525, e imagick.so è memorizzato in una cartella chiamata/usr/lib/php5/20090626. Quindi devi copiare il file in quella cartella.

+0

La domanda come scritta specifica Fedora. Suggerirei di aggiungere qualcosa sul fatto che questi passi per Ubuntu funzionino anche su Fedora, o quali bit potrebbero dover essere modificati. –

+0

Un po 'preoccupato per il passaggio 6. Vuoi veramente clobber php.ini? O dovrebbe essere ">>" per l'aggiunta? –

+0

Ho dovuto 'apt-get install php5-dev php-pear' per completare i passaggi su 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 

Alcune dipendenze saranno probabilmente già essere soddisfatti, ma escludendo il servizio Apache, che è tutto ciò che serve per PHP per utilizzare la classe Imagick.

7

Per MAMP in esecuzione sul Mac OSX

Scopri il quale versione di PHP e installare la versione a destra via birra

brew install homebrew/php/php56-imagick 

Aggiungere l'estensione modificando il modello di php.ini in MAMP

enter image description here

Verificare l'Imagick

enter image description here

+1

per ** php 7.0 ** =>' brew install php70-imagick' * * PHP 7.1 ** => 'birra installare php71-imagick' _Restart service_:' servizi sudo bREW riavviare php70' –

4

Debian 9

Ho appena fatto quanto segue e quant'altro necessario ottenuto automaticamente installato pure.

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

Con PHP7: sudo apt-get install php7.0-imagick -y servizio apache2 restart – DjimOnDev