> 백엔드 개발 > PHP 튜토리얼 > cloneable 프롬프트 Imagic 솔루션 클래스의 복제 불가능한 개체를 복제하려고 합니다.

cloneable 프롬프트 Imagic 솔루션 클래스의 복제 불가능한 개체를 복제하려고 합니다.

WBOY
풀어 주다: 2016-07-29 08:46:58
원래의
1070명이 탐색했습니다.

PDF 스크린샷을 png로 변환하려면 인터넷에 유통되는 프로그램을 사용하고, Imagic 확장 프로그램을 사용해야 합니다. Windows에 설치한 후 프롬프트는 다음과 같습니다.
Fatal error: Trying to clone an uncloneable object of class Imagick in C:wwwhxpdf_to_png.php on line 17
이 프롬프트는 IIS 및 Apache를 사용할 때 나타납니다. 많은 테스트 끝에 두 가지 해결책이 발견되었습니다.
1.php.ini; Zend Engine 1(PHP 4.x)과 호환 모드 활성화
zend.ze1_compatibility_mode = Off
변경 후 기본값은 On입니다. 끄면 해결됩니다.
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;
위 내용은 복제 가능한 콘텐츠를 포함하여 Imagic 클래스의 복제 불가능한 개체를 복제하려고 시도하는 복제 가능 프롬프트에 대한 솔루션을 소개했습니다. PHP 튜토리얼에 관심이 있는 친구에게 도움이 되기를 바랍니다.


관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿