提示Trying to clone an uncloneable object of class Imagic的解决

使用网上流传的一个程序实现pdf截图为png,需要使用Imagic扩展。在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;
}

(0)

相关推荐

  • 提示Trying to clone an uncloneable object of class Imagic的解决

    使用网上流传的一个程序实现pdf截图为png,需要使用Imagic扩展.在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 Engin

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

    在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_m

  • Python TypeError: ‘float‘ object is not subscriptable错误解决

    前言 其实就是个小问题,但是爆出来的时候也很莫名其妙.因为之前都跑得好好的,只是换了不同的文件去跑才出的问题,关键是不同的文件要处理的内容和格式都是完全一样的,一个顺利跑完,一个就报TypeError: ‘float’ object is not subscriptable这个错,就非常无语.接下来就是看看怎么解决问题了: 一开始自然是直接搜索问题,寻找解决办法,实话实说,看了一些博客,但是并没有直接找到解决办法,但是从中获得了一些想法,对问题理解更清楚一点.下面是找到的一种解释: 然后说一下我

  • Python错误提示:[Errno 24] Too many open files的分析与解决

    背景 最近在工作中发现了一个错误,在执行多线程扫描脚本的时候频繁出现下面这个错误 HTTPConnectionPool(host='t.tips', port=80): Max retries exceeded with url: /index.php (Caused by NewConnectionError('<requests.packages.urllib3.connection.HTTPConnection object at 0x7f29d4081150>: Failed to e

  • 安装MSDE2000提示为了安全起见,要求使用强 SA 密码的解决方法

    今天下载了一个msde2000A,本想按照平时的安装习惯,找到了setup.exe安装程序,错误提示弹出一个对话框:"为了安全起见,要求使用强 SA 密码.请使用SAPWD开关提供同一密码.有关详细信息,请参阅自述文件.安装程序将立即退出."郁闷.看文档还不如百度下,找到了几种解决方案: 1.命令提示符下进入安装目录.比如MSDERelA.然后键入setup.exe SAPWD="YOUR COMPUTER PASSWORD".安装成功了.如图示: 这样很快就安装好

  • IIS8.5 配置错误提示不能在此路径中使用此配置节的解决办法

    今天刚安装好IIS8.5, 我的系统是win8.1 enterprise版本. 建了一个简单的页面准备调试,却发现了这个错误: 详细错误信息模块 IIS Web Core 通知 BeginRequest 处理程序 尚未确定 错误代码 0x80070021 配置错误 不能在此路径中使用此配置节.如果在父级别上锁定了该节,便会出现这种情况.锁定是默认设置的(overrideModeDefault="Deny"),或者是通过包含 overrideMode="Deny"或旧

  • php提示无法加载或mcrypt没有找到 PHP 扩展 mbstring解决办法

    没有找到 PHP 扩展 mbstring,而您现在好像在使用多字节字符集.没有 mbstring 扩展的 phpMyAdmin 不能正确分割字符串,可能产生意想不到的结果. 无法加载mcrypt的解决办法 提示:无法加载mcrypt (外链,英语) 扩展,请检查您的 PHP 配置. 在C:\WINDOWS目录下的php.ini文件中, 没有将";extension=php_mcrypt.dll"中的前面一个";"去掉 所以不能使用相应功能,解决方法是打开php.in

  • python报错TypeError: ‘NoneType‘ object is not subscriptable的解决方法

    发现问题 写python的时候出现了这个错,然后网上的教程的解决方案几乎都是--"重新定义下这个变量",看的我一脸懵逼 后来发现原来是我把return None的方法赋给了变量,之后操作变量导致的,直接上代码 for i in range(2000): read_lines = random.shuffle(read_lines) # 问题出在这里了 print(read_lines) 咋一看是没啥问题,但是一运行就报错 >>TypeError: 'NoneType' ob

  • 提示“处理URL时服务器出错”和“HTTP 500错误“的解决方法

    其实这种情况都是因为大家表达问题不清而造成的. 下面讲讲这两种错误的原因: 1.处理URL时服务器出错,请和系统管理员联系! 只要在服务器上的IIS设置里选上"向客户端发送文本错误信息"这一项,那么页面上出现的任何错误都会显示"处理URL时服务器出错,请和系统管理员联系!"这一句话,所以这时你需要做的就是联系服务器管理员,将这一选项去掉,或者是将网站下载到本地进行调试.光靠这一条信息向人求助是得不到任何帮助的,因为大家看不到详细的错误信息.  2.HTTP 500错

  • PHP错误提示It is not safe to rely on the system……的解决方法

    在php程序开发中有时会出现类似于这样的警告: PHP Warning: date(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are

随机推荐