2008-09-24 4 views
2

이것은 라이브 서버에서만 발생합니다. 다중 전개 서버에서 이미지가 예상대로 작성됩니다.PHP 및 GD를 사용하여 생성 된 이미지가 잘리지 않음

라이브 : 레드햇

$ php --version 
PHP 5.2.6 (cli) (built: May 16 2008 21:56:34) 
Copyright (c) 1997-2008 The PHP Group 
Zend Engine v2.2.0, Copyright (c) 1998-2008 Zend Technologies 

GD 지원 => 사용할 수 GD 버전 => 번들 (2.0.34 호환)

DEV : 우분투 8

$ php --version 
PHP 5.2.4-2ubuntu5.3 with Suhosin-Patch 0.9.6.2 (cli) (built: Jul 23 2008 06:44:49) 
Copyright (c) 1997-2007 The PHP Group 
Zend Engine v2.2.0, Copyright (c) 1998-2007 Zend Technologies 

GD 지원 => 사용 가능 GD 버전 = 2.0 이상

<?php 
$image = imagecreatetruecolor($width, $height); 

// Colors in RGB 
$white = imagecolorallocate($image, 255, 255, 255); 
$black = imagecolorallocate($image, 0, 0, 0); 

imagefilledrectangle($image, 0, 0, $width, $height, $white); 

imagettftext($image, $fontSize, 0, 0, 50, $black, $font, $text); 
imagegif($image, $file_path); 
?> 

완벽한 세계에서 라이브 서버와 dev 서버가 동일한 배포판을 실행하고 싶지만 라이브 서버는 Red Hat이어야합니다.

내 질문은 GD의 번들 버전을 사용하여 이미지의 가장 오른쪽 부분이 잘릴 수있는 구체적인 차이점을 알고 있습니까?

편집 : 메모리가 부족하지 않습니다. 로그 파일에 오류가 생성되지 않습니다. php에 관해서는 이미지가 정확하게 생성됩니다. 그래서 번들 버전의 GD 관련 문제라고 생각합니다.

+0

라이브 서버가 Red Hat이어야하는 경우 개발 서버가 Red Hat (또는 문제가 지원 계약 인 경우 CentOS)이 될 수없는 이유는 무엇입니까? – ceejayoz

+0

개인용 컴퓨터에서 개발 중이므로. Redhat 상자를 설치하는 것이 완전히 불가능하지는 않지만 시간을 낭비하지는 않을 것입니다. –

+0

생산 상자에 최대한 가깝게 일치하는 개발 상자를 갖는 것이 일반적으로 이점입니다. 항상 가상 시스템으로 설정할 수 있습니다. – ceejayoz

답변

2

어쩌면 메모리가 부족하거나 비슷한 걸까요? 모든 로그 파일을 다시 확인 했습니까?

+0

덧글을 덧붙여주십시오. –

0

100 % 일치하고 항상 같은 위치에 있습니까? 그렇지 않은 경우 스크립트 나 메모리 제한을 실행하는 데 리소스 문제 일 수 있습니다. php.ini 설정을 조정하고 웹 서버를 재부팅하고 테스트 해보십시오.

0

이미지에 따라 차이가 있습니까?

최근에 PHP & GD에서 이상한 버그/기능을 발견했습니다.

흰색 배경이 모두있는 JPEG (3MB)의 크기를 조정하고 편집하려고하면 실패합니다. 더 큰 이미지 (4MB)와 더 복잡한 배경으로 작업했습니다.

나는 GD가 편집 할 이미지를 열었을 때, 흰색 배경 이미지가 더 복잡한 이미지보다 큰 비율로 증가했다는 것을 알아 냈습니다. 일부 이미지의 경우이 비율로 인해 PHP/GD가 실패하고 이미지가 중간에 끊어졌습니다. 윌리엄

0

은 당신이 올바른지 여부를 확인하기 위해 $ 폭 출력의 값을 있었나요?

0

이미지가 잘리고 있지 않을 수 있습니다. 텍스트가 잘릴 수 있습니다.

imagettftext($image, $fontSize, 0, 0, 50, $black, $font, $text); 

TTF 글꼴에는 오버 헤드와 패딩이 있습니다. 더 큰 캔버스를 사용해보십시오. 동일한 결과를 얻었습니까?

관련 문제