在 Yii 中使用 Imagick 和 GD

Use Imagick and GD in Yii

我正在使用 Yii 1.1.6 我编写了一个使用 GD 和 Imagick PHP 扩展的 class。在我的中,我声明了一个变量

class Myclass(){
    public function __construct()
    {
         $imagick = new Imagick();
    }
    // something more
}

我把我的 class 放入组件文件夹。

在控制器中,像往常一样,

$image = new MyClass();

但是 yii 通知我错误 500:include(Imagick.php): 无法打开流:没有这样的文件或目录。 我明白这意味着 Yii 无法识别组件文件夹中的 class 和文件 Imagick?????

对我的问题有什么想法吗? 请告诉我如何在 Yii 中使用 Imagick 和 GD wright 方式。

P.s:我发现http://www.yiiframework.com/extension/image/,但是,如果我那样用,我会重写我的class,它只用于Yii,我想将我的 class 用于某些项目。

更新:对不起我的愚蠢,我在家里和服务器上的 Mac 仍然运行良好,但在办公室计算机上,我没有正确配置这些扩展。

您没有安装 php5-imagick 软件包。您可以在 php.net

阅读相关信息

安装后您的代码将完美运行。

在 Ubuntu:

sudo apt-get install php5-imagick
sudo service apache2 reload

您必须在 main.php "config file"

中添加 ImageMagick 安装路径

这里是 windows

的示例
'image'=>array(
        'class'=>'application.extensions.image.CImageComponent',
        // GD or ImageMagick
        'driver'=>'GD',
        // ImageMagick setup path
        'params'=>array('directory'=>'D:/Program Files/ImageMagick-6.4.8-Q16'),
    ),

对于linux

'image'=>array(
        'class'=>'application.extensions.image.CImageComponent',
        // GD or ImageMagick
        'driver'=>'GD',
        // ImageMagick setup path
        'params' => array('directory' => '/usr/bin'),
    ),

使用流畅的扩展 image extension