1

我有这个模块的问题。

在我的本地服务器中,我打开我的 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

4 回答 4

2

convertImageMagick 二进制文件(可以通过命令调用)和IMagick PHP 扩展之间是有区别的。即使安装了二进制文件,也不意味着 PHP 扩展是。

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

如果他们不这样做,您将不得不重新创建 IMagick 命令作为命令行选项并通过exec().

于 2011-05-26T23:09:54.133 回答
0

为 php 安装 imagick:

apt-get install php5-imagick
于 2011-08-02T18:35:51.953 回答
0

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

var_dump(get_loaded_extensions());
于 2011-08-02T18:43:08.900 回答
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

在 PHP 7.0 上安装 Imagick 3.4.0

于 2016-12-15T21:36:00.970 回答