處理JPEG的任何PHP函數似乎都不適用於我的服務器。PHP JPEG函數不能正常工作
此代碼:
<?php
$im = imagecreatetruecolor(120, 20);
$text_color = imagecolorallocate($im, 233, 14, 91);
imagestring($im, 1, 5, 5, 'A Simple Text String', $text_color);
header('Content-type: image/jpeg');
imagejpeg($im);
imagedestroy($im);
?>
創建一個空文件。
如預期的那樣,使用GIF或PNG功能將創建一個包含文本「簡單文本字符串」的圖像。
此:
$im = imagecreatefromjpeg("test.jpg");
回報
Warning: imagecreatefromjpeg() [function.imagecreatefromjpeg]: 'test.jpg' is not a valid JPEG file in /path/to/test.php on line 2
一個phpinfo()函數顯示:
gd
GD Support enabled
GD Version 2.0 or higher
FreeType Support enabled
FreeType Linkage with freetype
FreeType Version 2.3.9
T1Lib Support enabled
GIF Read Support enabled
GIF Create Support enabled
JPG Support enabled
PNG Support enabled
WBMP Support enabled
,並且網絡服務器可以讀取任何相關文件。
GIF和PNG功能正常工作,並如預期。
任何想法?
編輯:
發現這在我的Apache的錯誤日誌文件:
gd-jpeg: JPEG library reports unrecoverable error: Wrong JPEG library version: library is 80, caller expects 62
如果您確定'test.jpg'是一個有效的JPG文件(注意GD無法處理CMYK JPG--確保它是RGB!也嘗試使用不同的文件),那麼這似乎是一個服務器配置問題在serverfault.com上更好地問。 – 2010-08-16 09:52:16
已嘗試過幾個不同的文件,結果相同 – Oli 2010-08-16 10:24:16