Любые функции PHP, которые имеют дело с JPEG, похоже, не работают на моем сервере.Функции 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 работают нормально и, как и ожидалось.
Любые идеи?
EDIT:
Нашел это в моем файле журнала ошибок Apache:
gd-jpeg: JPEG library reports unrecoverable error: Wrong JPEG library version: library is 80, caller expects 62
Если вы уверены, что 'test.jpg' является допустимым файлом JPG (примечание GD не может иметь дело с CMYK JPGs - убедитесь, что это RGB! Также попробуйте использовать другой файл), то это, похоже, проблема с конфигурацией сервера лучше спросить на serverfault.com. –
Попробовали с несколькими разными файлами с таким же результатом – Oli