Trying to clone an uncloneable object of class Imagic的解决方法

yipeiwu_com6年前PHP代码库

在windows下安装完后提示:
Fatal error: Trying to clone an uncloneable object of class Imagick in C:\www\hx\pdf_to_png.php on line 17

使用IIS和Apache均会有这个提示。经多次测试后,发现两种解决方法:

1.php.ini中; Enable compatibility mode with Zend Engine 1 (PHP 4.x)
zend.ze1_compatibility_mode = Off

默认是On,改为Off后,即可解决。

2.使用imagick::...这种方法调用。
即$im->setResolution(120, 120);可以改写为:
imagick::setResolution(120, 120);


如果其它扩展出现这类错误,一般也是可以使用这两种方法解决的。

附pdf转png的程序代码片断:

复制代码 代码如下:

        function pdf2png($pdf, $filename, $page=0) {         
            if (!extension_loaded('imagick')) {
                exit('no imagick');
                return false;               
            }
            if (!file_exists($pdf)) {
                return false;
            } 
            $im = new Imagick();
            $im->setResolution(120, 120);
            $im->setCompressionQuality(100);
            $im->readImage($pdf . "[" . $page . "]");
            $im->setImageFormat('png');
            $im->writeImage($filename);
            $im->readImage($filename);
            $im->resizeImage(120, 150, Imagick::FILTER_LANCZOS, 1);
            $im->writeImage($filename);
            return $filename;
        }

相关文章

php实现与python进行socket通信的方法示例

本文实例讲述了php实现与python进行socket通信的方法。分享给大家供大家参考,具体如下: 设计目的 通过前端页面发起请求交给php,php创建socket请求交给Python脚...

php截取字符串并保留完整xml标签的函数代码

复制代码 代码如下:<?php      /**      * author: goosman &n...

PHP简单实现解析xml为数组的方法

本文实例讲述了PHP简单实现解析xml为数组的方法。分享给大家供大家参考,具体如下: 最近想要做一个插件机制,需要用到xml,在解析xml时候需要转换为数组,特意记录一个此种解析方式 x...

php 中文处理函数集合

--- 空格 --- string GBspace(string) --------- 每个中文字之间加空格 string GBunspace(string) ------- 每个中文字...

PHP中$_FILES的使用方法及注意事项说明

$_FILES:经由 HTTP POST 文件上传而提交至脚本的变量,类似于旧数组$HTTP_POST_FILES 数组(依然有效,但反对使用)详细信息可参阅 POST方法上传 $_FI...