想象不行

时间:2012-05-09 09:58:18

标签: php codeigniter imagemagick thumbnails

我正在从pdf文件的第一页创建缩略​​图。我几乎厌倦了网络上的所有解决方案,使ImageMagick运行但我仍然收到以下错误

Fatal error: Class 'Imagick' not found in C:\wamp\www\mediabox\application\controllers\cron.php on line 153

到目前为止我做了什么。

  1. 已安装GPL Ghostscript
  2. 已安装ImageMagick-6.7.6-Q16
  3. 在php安装的ext文件夹中下载并复制了php_imagick.dll文件。
  4. 在我的php.ini文件中添加了extension = php_imagick.dll行。
  5. 多次重启apache服务器和windows:)
  6. 我正在使用codeigniter框架。
  7. PHP 5.3.10,apache 2.2.21,mysql 5.5.20,wamp 2.2和win 7
  8. 在已加载的扩展程序类别的“我的本地主机”页面上,“未列出Imagemagick”

    我写的代码是

    $image = explode('.', $filename_new);
    $image_name = 'files/import/' . $ftp_upload["path"] ."/". $image[0] .".jpg";
    //exec("convert -colorspace RGB -geometry 300x400! -density 200 " .$pdf_file."[0] ". $image_name);  
    $img = $image[0].".jpg" ;
    $im = new Imagick($img);
    $im->pingImage($img);
    $im->readImage($img);
    $im->thumbnailImage(100, null);
    $im->writeImage( 'files/import/' . $ftp_upload["path"] ."/".$img);
    $im->destroy();
    

    exec命令创建图像但速度很慢我想用Imagick类创建缩略图,我希望它与exec和转换器相比会更快。

    我应该怎样做才能让Imagick类可用于我的php?

    由于

3 个答案:

答案 0 :(得分:2)

我不确定你从哪里拿到二进制文件,但这似乎是我一个月前经历的事情。我尝试过的一些二进制文件会显示在phpinfo()中,但拒绝工作,而其他二进制文件甚至不会显示在phpinfo()中。

然后我按照我的问题here继续编译我自己的二进制文件。

我刚刚为你编写了这些二进制文件。它们用于x86,使用VC9编译,并且有线程安全和非线程安全版本。版本是3.1.0RC1(最新)。

您可以在此处下载:http://min.us/mtg0Z66BI

让我知道它是否适合你:)

答案 1 :(得分:1)

在我的服务器上,pecl-imagick扩展仅适用于mod_mpm_prefork - 它不适用于mod_mpm_worker.so或mod_mpm_event.so

这可能是你的问题。

答案 2 :(得分:0)

如果您只是创建jpg,请将jpg提示添加到exec()命令,这将比Imagick更快。

在读取图像之前使用-define jpeg:size = 200x200 - 200x200是输出图像尺寸。

我怀疑Imagick安装不正确