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

使用网上流传的一个程序实现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;
}

时间: 2024-09-20 10:31:41

提示Trying to clone an uncloneable object of class Imagic的解决_php技巧的相关文章

Trying to clone an uncloneable object of class Imagic的解决方法_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_m

php解析xml提示Invalid byte 1 of 1-byte UTF-8 sequence错误的处理方法_php技巧

错误提示Invalid byte 1 of 1-byte UTF-8 sequence原因分析在中文版的window下java的默认的编码为GBK,也就是所虽然我们标识了要将xml保存为utf-8格式但实际上文件是以GBK格式来保存的,所以这也就是为什么能够我们使用GBK.GB2312编码来生成xml文件能正确的被解析,而以UTF-8格式生成的文件不能被xml解析器所解析的原因. 把xml的encoding属性值UTF-8改为UTF8org.xml.sax.SAXParseException:

android-Android提示错误:on a null object reference

问题描述 Android提示错误:on a null object reference 我是在button的onclick里写的用的swith,一按按钮就崩溃,后来捕捉错误为 Attempt to invoke virtual method 'android.text.Editable android.widget.EditText.getText()' on a null object reference 但是我et应该有值啊,不理解 case R.id.next: EditText et =

win7备份文件提示“由于内部错误,备份应用程序无法启动”如何解决

win7备份文件提示"由于内部错误,备份应用程序无法启动"如何解决   具体方法如下: 1.进入win7系统后,鼠标右键点击桌面上的"计算机"图标,接着点击"管理"选项; 2.在打开的计算机管理窗口,我们依次点击展开"服务和应用程序--服务",在右边窗找到"Windows Backup",鼠标左键双击打开它,如下图所示: 3.然后在属性设置窗口中选择"常规"选项,并在"启动类型

Win7旗舰版提示“指定的网络名不在可用”的原因和解决方法

Win7旗舰版提示"指定的网络名不在可用"的原因和解决方法   具体步骤: 1.按下"Win+R"组合键打开运行,在框中输入"services.msc"点击确定打开"服务"界面; 2.在服务界面查看Computer Browser.server.workstation服务是否已启动,如果停用的话将服务的启动方式 修改为"自动", 3.然后点击应用,点击"启动"在点击确定即可.注意主次顺序

win7安装QQ时弹出提示“应用程序无法启动因为并行配置不正确”如何解决

  刚刚安装完windows7操作系统后需要安装一些常用的程序软件,比如QQ.office等等.有用户反应在Win7系统中安装QQ的时候弹出提示"应用程序无法启动因为并行配置不正确"导致无法正常安装,该如何解决?出现这样的情况,首先我们确保系统服务是否运行正常,系统中的运行库是否已安装.本教程以win7纯净版系统为例,给大家演示具体解决方法. 步骤:运行库 1.下载"Microsoft Visual C++"运行库; 2.将运行库进行安装; 具体步骤: 1.按下&q

win7系统访问磁盘提示“你没有权限查看或编辑这个对象”原因和解决方法

  win7系统访问磁盘提示"你没有权限查看或编辑这个对象"原因和解决方法.安装win7旗舰版系统之后,访问磁盘的时候需要管理员权限,这时候大家只要使用Administrator管理员账户就可以登入了.但是一些用户新建了非管理员权限的用户进行登入使用,在使用时候却遇到了问题,之前本来可以访问磁盘的,但是后来没办法访问了,提示"你没有权限查看或编辑这个对象",想切换回"Administrator"账户也无法切换怎么办?下面一起看看解决方法吧. 故障

Win7右下角提示"此Windows副本不是正版"问题的三种解决方法

  Win7右下角提示"此Windows副本不是正版"怎么办?最近有用户在打开win7系统发现,Win7系统开机以后桌面是黑色的,并且在屏幕右下角的位置上有一个"此windows副本不是正版"的提示,这是因为Win7系统没有激活.解决这个问题的方法可以激活Win7系统,也可以关闭掉一些服务.下面小编就给大家带来解决方法,一起来看看吧. 方案一: 1.打开Win7系统的开始菜单,点击所有程序; 2.打开所有程序里的附件,右键命令提示符,点击管理员取得所有权; 3.用命

arp-在WIN7下使用ARP命令时提示 找不到ARP项 是什么原因?如何解决?

问题描述 在WIN7下使用ARP命令时提示 找不到ARP项 是什么原因?如何解决? 在WIN7下使用ARP命令时提示 找不到ARP项 是什么原因?如何解决? 解决方案 追加说明一下:我是使用arp -a 192.168.38.1 时提示 找不到arp项 ,这个38.1是上一级路由器,对本级路由器192.168.66.1使用此命令时能够正常显示MAC地址 解决方案二: 为了安全,路由器可能禁止你arp