在 Yii 中使用 Imagick 和 GD
Posted
技术标签:
【中文标题】在 Yii 中使用 Imagick 和 GD【英文标题】:Use Imagick and GD in Yii 【发布时间】:2015-06-24 09:34:33 【问题描述】:我使用的是 Yii 1.1.6 我编写了一个使用 GD 和 Imagick php 扩展的类。在我的,我声明了一个变量
class Myclass()
public function __construct()
$imagick = new Imagick();
// something more
我把我的类放到组件文件夹中。
在控制器中,像往常一样,
$image = new MyClass();
但是 yii 通知我错误 500:include(Imagick.php): failed to open stream: No such file or directory。 我理解这意味着 Yii 无法识别组件文件夹中的类和文件 Imagick?????
对我的问题有什么想法吗? 请教我如何 wright 方式。
P.s:我查到http://www.yiiframework.com/extension/image/,但是,如果我用那种方式,我会重写我的类,它只是用于Yii,我想将我的类用于一些项目。
更新:对不起,我的愚蠢,我在家里的 Mac 和服务器上仍然可以正常工作,但在办公室计算机上,我没有正确配置这些扩展。
【问题讨论】:
显然您没有在 PHP 中加载 Imagick 扩展。您可能应该安装它并确保它已加载。 @Danack 谢谢,我确实配置了我的 xampp,它再次运行良好。 【参考方案1】:你没有安装 php5-imagick 包。你可以在php.net阅读它
安装后您的代码将完美运行。
在 Ubuntu 上:
sudo apt-get install php5-imagick
sudo service apache2 reload
【讨论】:
【参考方案2】:您必须在 main.php “配置文件”中添加 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
【讨论】:
以上是关于在 Yii 中使用 Imagick 和 GD的主要内容,如果未能解决你的问题,请参考以下文章