host-imagick的问题

时间:2011-05-18 13:53:00

标签: module php imagick

我的这个模块有问题。

在我的本地服务器中,我打开我的php.ini,我在列表中有模块imagick。 现在我将网站更改为网络服务器,但在php.ini中,模块未显示。

我与拥有网络服务器的公司进行了交谈,答案是:“模块已安装并告诉我:”

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

但是当我使用这段代码时:

 <?php

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

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

    ?>

我很简单地接受了这个:

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

但是同样的代码可以在我的本地主机上运行。 问题是什么? (可能,扩展名在php.ini中被注释?或者代码中存在任何问题?)

感谢

4 个答案:

答案 0 :(得分:2)

ImageMagick二进制文件(可以通过convert命令调用)和IMagick PHP extension之间存在差异。即使安装了二进制文件,也不代表PHP扩展名。

您的提供商必须在其服务器的PHP中明确激活它。

如果他们不这样做,您必须重新创建IMagick命令command line options并通过exec()调用它。

答案 1 :(得分:0)

为php安装imagick:

apt-get install php5-imagick

答案 2 :(得分:0)

使用get_loaded_extensions确认您已安装了imagick PHP扩展程序。

var_dump(get_loaded_extensions());

答案 3 :(得分: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

来自Install Imagick 3.4.0 on PHP 7.0