Maison développement back-end tutoriel php Trying to clone an uncloneable object of class Imagic的解决_PHP

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

Jun 01, 2016 pm 12:13 PM
object

在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;
        }

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Quelles sont les méthodes de conversion d'un objet Java en octet et d'un octet en objet ? Quelles sont les méthodes de conversion d'un objet Java en octet et d'un octet en objet ? Apr 20, 2023 am 11:37 AM

Objet en octet et octet en objet Aujourd'hui, nous allons comprendre comment convertir un objet en octet et comment convertir un octet en objet. Tout d'abord, définissez un élève de classe : packagecom.byteToObject;importjava.io.Seriallessly;publicclassstudentimplementsSerializing{privateintsid;privateStringname;publicintgetSid(){returnsid;}publicvoidsetSid(in

Comment utiliser les méthodes dans la classe Java Object Comment utiliser les méthodes dans la classe Java Object Apr 18, 2023 pm 06:13 PM

1. Introduction à la classe Object Object est une classe fournie par Java par défaut. À l'exception de la classe Object, toutes les classes Java ont des relations d'héritage. Par défaut, il héritera de la classe parent Object. Autrement dit, les objets de toutes les classes peuvent être reçus en utilisant la référence Object. Exemple : utilisez Object pour recevoir des objets de toutes les classes classPerson{}classStudent{}publicclassTest{publicstaticvoidmain(String[]args){function(newPerson());function(newStudent());}public

Java utilise la fonction getClass() de la classe Object pour obtenir la classe d'exécution de l'objet Java utilise la fonction getClass() de la classe Object pour obtenir la classe d'exécution de l'objet Jul 24, 2023 am 11:37 AM

Java utilise la fonction getClass() de la classe Object pour obtenir la classe d'exécution de l'objet. En Java, chaque objet possède une classe qui définit les propriétés et les méthodes de l'objet. Nous pouvons utiliser la fonction getClass() pour obtenir la classe d'exécution d'un objet. La fonction getClass() est une fonction membre de la classe Object, tous les objets Java peuvent donc appeler cette fonction. Cet article explique comment utiliser la fonction getClass() et donne quelques exemples de code. utiliser obtenir

Avis PHP : tentative d'obtention de la propriété d'une solution non-objet Avis PHP : tentative d'obtention de la propriété d'une solution non-objet Jun 24, 2023 pm 09:34 PM

PHPNotice: Tryingtogetpropertyofnon-object Solution Lorsque vous développez en PHP, vous pouvez rencontrer ce message d'erreur: "Remarque: Tryingtogetpropertyofnon-object." Ce message d'erreur est généralement dû au fait que vous utilisez un objet non initialisé, ou parce que votre objet a perdu sa référence. dans un certain morceau de code et ne peut pas accéder correctement aux propriétés.

Avis PHP : Solution pour essayer d'obtenir la propriété d'un non-objet Avis PHP : Solution pour essayer d'obtenir la propriété d'un non-objet Jun 22, 2023 pm 02:43 PM

Solution à PHPNotice : Essayer d'obtenir la propriété d'un non-objet Lors du processus d'écriture de code en PHP, nous pouvons rencontrer le message d'erreur « Essayer d'obtenir la propriété d'un non-objet ». Ce message d'erreur se produit généralement parce que nous essayons d'accéder à une propriété d'objet qui n'existe pas, provoquant une erreur dans le code. Ce message d'erreur apparaît généralement dans les situations suivantes : L'objet n'existe pas

Quelle est la relation entre les types de données de base et l'objet en Java Quelle est la relation entre les types de données de base et l'objet en Java May 01, 2023 pm 04:04 PM

La relation entre les types de données de base et Object. Je sais que tout le monde a entendu dire que Object est la classe de base de tous les types, mais cette phrase n'est en fait pas correcte, car les types de données de base en Java n'ont rien à voir avec Object. Par exemple, lorsque vous appelez la méthode swap, vous ne pouvez pas transmettre directement le type int à la méthode swap(Objectobj), car Object n'a en fait rien à voir avec le type de données de base. À ce stade, a constate que nos types ne correspondent pas. il l'enveloppe donc automatiquement. Il est devenu un type Integer. À ce stade, il peut être contacté avec Object et la méthode swap peut être appelée avec succès Object, une classe wrapper de types de données de base.

Comment utiliser la classe d'objet Java Comment utiliser la classe d'objet Java May 13, 2023 pm 05:13 PM

1. méthode égale == opérateur de comparaison, qui peut déterminer à la fois le type de base et le type de référence. Si le type de base est déterminé, il est déterminé si les valeurs sont égales. Si le type de référence est déterminé, il est déterminé. si les adresses sont égales, c'est-à-dire s'il s'agit du même objet. equals est une méthode de la classe d'objet et ne peut déterminer que le code source de type référence object-equals : publicbooleanequals(Objectobj){return(this==obj); } On peut clairement voir que la méthode égale dans la classe d'objet consiste à déterminer si l'adresse de l'objet est la même (est-ce le même objet), mais d'autres classes de types de données remplaceront la méthode égale, plutôt que

Comment utiliser la classe Object et la classe System en Java ? Comment utiliser la classe Object et la classe System en Java ? Apr 23, 2023 pm 11:28 PM

Object est la classe de base de toutes les classes Java, le sommet de toute la structure d'héritage de classe et la classe la plus abstraite. Tout le monde utilise toString(), equals(), hashCode(), wait(), notify(), getClass() et d'autres méthodes tous les jours. Peut-être qu'ils ne réalisent pas qu'il s'agit de méthodes d'Object et ne regardent pas non plus quoi. d'autres méthodes dont dispose Object. Et réfléchissez à la raison pour laquelle ces méthodes devraient être placées dans Object. 1. Introduction à la classe JavaObject - la super classe de toutes les classes. Object est une classe spéciale dans la bibliothèque de classes Java et est également la classe parent de toutes les classes. En d’autres termes, Java permet d’attribuer n’importe quel type d’objet au type Objet

See all articles