处理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