2011-05-18 4 views
1

J'ai un problème avec ce module.problème avec host-imagick

Dans mon serveur local j'ouvre mon php.ini et j'ai le module imagick dans la liste. Maintenant, j'ai changé le site pour un serveur web, mais dans php.ini, le module n'est pas montré.

J'ai parlé avec la société qui ont le serveur web, et la réponse est: « le module est installé et montrez-moi ceci: »

[email protected] [~]# convert 
Version: ImageMagick 6.2.8 08/25/10 Q16 file:/usr/share/ImageMagick-6.2.8/doc/index.html 

mais quand j'utilise ce code:

<?php 

    $image = new Imagick(); 
    $image->newImage(100, 100, new ImagickPixel('red')); 
    $image->setImageFormat('png'); 

    header('Content-type: image/png'); 
    echo $image; 

    ?> 

i simples reçois ceci:

Fatal error: Class 'Imagick' not found in /home/empreg0l/public_html/modulo.php on line 3 

Mais le même code fonctionne dans mon hôte local. Quel est le problème? (Probablement, l'extension est commenté dans le php.ini? Ou existe un problème dans le code?)

grâce

Répondre

2

Il y a une différence entre le binaire ImageMagick (qui peut être appelé par la commande convert) et le IMagick PHP extension. Même si le binaire est installé, cela ne signifie pas que l'extension PHP est.

Votre fournisseur devra explicitement activer cela dans le PHP de son serveur.

S'ils ne le font pas, vous devrez recréer les commandes IMagick comme command line options et appelez-le par exec().

0

Pour installer imagick pour php:

apt-get install php5-imagick 
0
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 

De Install Imagick 3.4.0 on PHP 7.0