Heim Backend-Entwicklung PHP-Tutorial 提示Trying to clone an uncloneable object of class Imagic的解决_php技巧

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

May 17, 2016 am 09:15 AM
object

使用网上流传的一个程序实现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;
}
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße Artikel -Tags

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Welche Methoden gibt es zum Konvertieren von Java-Objekten in Bytes und Bytes in Objekte? Welche Methoden gibt es zum Konvertieren von Java-Objekten in Bytes und Bytes in Objekte? Apr 20, 2023 am 11:37 AM

Welche Methoden gibt es zum Konvertieren von Java-Objekten in Bytes und Bytes in Objekte?

So verwenden Sie Methoden in der Java-Objektklasse So verwenden Sie Methoden in der Java-Objektklasse Apr 18, 2023 pm 06:13 PM

So verwenden Sie Methoden in der Java-Objektklasse

PHP-Hinweis: Es wird versucht, die Eigenschaft einer Nicht-Objekt-Lösung abzurufen PHP-Hinweis: Es wird versucht, die Eigenschaft einer Nicht-Objekt-Lösung abzurufen Jun 24, 2023 pm 09:34 PM

PHP-Hinweis: Es wird versucht, die Eigenschaft einer Nicht-Objekt-Lösung abzurufen

Lösung für PHP-Hinweis: Es wird versucht, die Eigenschaft eines Nicht-Objekts abzurufen Lösung für PHP-Hinweis: Es wird versucht, die Eigenschaft eines Nicht-Objekts abzurufen Jun 22, 2023 pm 02:43 PM

Lösung für PHP-Hinweis: Es wird versucht, die Eigenschaft eines Nicht-Objekts abzurufen

Java verwendet die Funktion getClass() der Object-Klasse, um die Laufzeitklasse des Objekts abzurufen Java verwendet die Funktion getClass() der Object-Klasse, um die Laufzeitklasse des Objekts abzurufen Jul 24, 2023 am 11:37 AM

Java verwendet die Funktion getClass() der Object-Klasse, um die Laufzeitklasse des Objekts abzurufen

So verwenden Sie die Java-Objektklasse So verwenden Sie die Java-Objektklasse May 13, 2023 pm 05:13 PM

So verwenden Sie die Java-Objektklasse

Wie verwende ich die Objektklasse und die Systemklasse in Java? Wie verwende ich die Objektklasse und die Systemklasse in Java? Apr 23, 2023 pm 11:28 PM

Wie verwende ich die Objektklasse und die Systemklasse in Java?

Instanzanalyse der Java-Objektklassenmethode Instanzanalyse der Java-Objektklassenmethode Apr 18, 2023 pm 05:49 PM

Instanzanalyse der Java-Objektklassenmethode

See all articles