2008-09-24 68 views
2

這隻發生在活動服務器上。在多個開發服務器上,圖像按照預期創建。使用PHP和GD生成的圖像正在被切斷

LIVE: 紅帽

$ 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: Ubuntu的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 2008-09-24 18:46:56

+0

因爲我正在個人機器上開發。對我來說,安裝一個Redhat機箱並不是完全不可能的,但我寧願不花時間在它上面。 – 2008-09-24 19:07:26

回答

2

也許您的內存不足或類似的東西?你有沒有仔細檢查所有日誌文件等?

0

它是100%一致的,始終在同一個地方?否則,可能是資源問題 - 執行腳本或內存限制的時間。嘗試調整php.ini設置,重新啓動Web服務器,測試。

0

它取決於圖像?

最近我在PHP & GD發現了一個奇怪的錯誤/功能。

當試圖調整大小和編輯JPEG圖片上有一座全白色背景(約3MB),它會失敗。它與其他更大的圖像(大約4MB)和更復雜的背景一起工作。

我計算出,當GD打開圖像編輯,白回地面圖像增長不是更復雜的圖像更大的比例。這個比例對於一些圖像造成PHP/GD失敗並且中途切斷了圖像。

William

0

您是否有$ width輸出的值以查看它是否正確?

0

它可能不是圖像被切斷。這可能是文本被切斷。

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

TTF字體有開銷和填充。嘗試一個更大的畫布,看看你是否得到相同的結果。