백엔드 개발 PHP 튜토리얼 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:13 AM
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;
        }
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

Java Object를 바이트로, 바이트를 Object로 변환하는 방법은 무엇입니까? Java Object를 바이트로, 바이트를 Object로 변환하는 방법은 무엇입니까? Apr 20, 2023 am 11:37 AM

Object에서 byte로, byte에서 Object로 오늘은 Object에서 byte로 변환하는 방법과 byte에서 Object로 변환하는 방법을 알아보겠습니다. 먼저 학생 클래스를 정의합니다. packagecom.byteToObject;importjava.io.Serialized;publicclassstudentimplementsSerialized{privateintsid;privateStringname;publicintgetSid(){returnsid;}publicvoidsetSid(in

Java 객체 클래스에서 메소드를 사용하는 방법 Java 객체 클래스에서 메소드를 사용하는 방법 Apr 18, 2023 pm 06:13 PM

1. Object 클래스 소개 Object는 Java에서 기본적으로 제공하는 클래스입니다. Object 클래스를 제외한 Java의 모든 클래스는 상속 관계를 갖습니다. 기본적으로 Object 상위 클래스를 상속합니다. 즉, Object의 참조를 이용하여 모든 클래스의 객체를 받을 수 있습니다. 예: Object를 사용하여 모든 클래스의 객체 수신 classPerson{}classStudent{}publicclassTest{publicstaticvoidmain(String[]args){function(newPerson());function(newStudent());}public

PHP 공지: 비객체 솔루션의 속성을 가져오려고 합니다. PHP 공지: 비객체 솔루션의 속성을 가져오려고 합니다. Jun 24, 2023 pm 09:34 PM

PHP알림: 비개체 솔루션을 얻으려는 중 PHP에서 개발할 때 "알림: 비개체의 속성을 얻으려는 중"이라는 오류 메시지가 나타날 수 있습니다. 이 오류 메시지는 일반적으로 초기화되지 않은 개체를 사용하거나 개체가 참조를 잃어버렸기 때문에 발생합니다. 특정 코드 부분에서 속성에 올바르게 액세스할 수 없습니다.

Java는 객체 클래스의 getClass() 함수를 사용하여 객체의 런타임 클래스를 얻습니다. Java는 객체 클래스의 getClass() 함수를 사용하여 객체의 런타임 클래스를 얻습니다. Jul 24, 2023 am 11:37 AM

Java는 Object 클래스의 getClass() 함수를 사용하여 객체의 런타임 클래스를 얻습니다. Java에서 각 객체에는 객체의 속성과 메서드를 정의하는 클래스가 있습니다. getClass() 함수를 사용하여 객체의 런타임 클래스를 가져올 수 있습니다. getClass() 함수는 Object 클래스의 멤버 함수이므로 모든 Java 객체가 이 함수를 호출할 수 있습니다. 이 기사에서는 getClass() 함수를 사용하는 방법을 소개하고 몇 가지 코드 예제를 제공합니다. get을 사용하세요

PHP 공지 사항에 대한 솔루션: 객체가 아닌 속성을 얻으려고 시도 중 PHP 공지 사항에 대한 솔루션: 객체가 아닌 속성을 얻으려고 시도 중 Jun 22, 2023 pm 02:43 PM

PHP 공지 사항에 대한 해결 방법: 비객체 속성을 얻으려는 중 PHP에서 코드를 작성하는 과정에서 "비객체 속성을 얻으려는 중"이라는 오류 메시지가 나타날 수 있습니다. 이 오류 메시지는 일반적으로 존재하지 않는 개체 속성에 액세스하려고 하여 코드에 오류가 발생하기 때문에 발생합니다. 이 오류 메시지는 일반적으로 다음 상황에서 나타납니다. 개체가 존재하지 않습니다.

Java의 기본 데이터 유형과 객체 간의 관계는 무엇입니까 Java의 기본 데이터 유형과 객체 간의 관계는 무엇입니까 May 01, 2023 pm 04:04 PM

기본 데이터 유형과 Object 사이의 관계 Object가 모든 유형의 기본 클래스라는 것을 누구나 들어봤을 것입니다. 그러나 이 문장은 실제로 정확하지 않습니다. 왜냐하면 Java의 기본 데이터 유형은 Object와 관련이 없기 때문입니다. 예를 들어 swap 메소드를 호출할 때 실제로 Object는 기본 데이터 유형과 아무 관련이 없기 때문에 int 유형을 swap(Objectobj) 메소드에 직접 전달할 수 없습니다. 이제 자동으로 Wrapping하게 되어 Integer 타입이 되었고, 기본 데이터 타입의 래퍼 클래스인 Swap 메소드를 성공적으로 호출할 수 있게 되었습니다.

Java 객체 클래스를 사용하는 방법 Java 객체 클래스를 사용하는 방법 May 13, 2023 pm 05:13 PM

1.equals 메소드 == 연산자 기본 타입과 참조 타입을 모두 결정할 수 있는 비교 연산자. 기본 타입이 결정되면 값이 동일한지 여부를 결정합니다. 주소가 동일한지, 즉 동일한 객체인지 여부는 객체 클래스의 메서드이며 참조 유형 객체 동일 소스 코드만 확인할 수 있습니다. publicbooleanequals(Objectobj){return(this==obj); } 객체 클래스의 equals 메소드는 객체의 주소가 동일한지(동일한 객체인지) 여부를 결정하는 것이지만 다른 데이터 유형 클래스는 다음과 같이 equals 메소드를 재정의한다는 것을 분명히 볼 수 있습니다.

PHP에서 객체를 배열로 변환하는 방법 PHP에서 객체를 배열로 변환하는 방법 Aug 04, 2023 pm 05:26 PM

PHP에서 객체를 배열로 변환하는 방법: 1. 유형 변환 함수((배열))를 사용하면 PHP는 객체의 공개 속성을 키로 사용하고 속성 값을 해당 배열 값으로 사용합니다. 리플렉션 클래스(ReflectionClass), 리플렉션을 통해 클래스의 `getProperties()` 메소드를 사용하면 객체의 모든 속성을 가져올 수 있습니다. 그런 다음 `setAccessible(true)` 메소드 등을 전달합니다. 3. json_encode()를 사용합니다.

See all articles