我有一个文件上传类,如果文件上传被认为是图像,则会返回图像调整大小对象。图像大小调整类的结构以此开头:
$this->resource = imagecreatefromstring($this->getData());
if (!is_resource($this->resource)) {
return $this->error(IMAGE_ERR_SOURCE_CREATION_ERROR);
}
$this->getData()
从tmp_name
数组返回$_FILES[..]
的file_get_contents返回的字符串。
承诺如下。它在我的开发服务器5.3.0
上完全正常,但imagecreatefromstring()
在生产服务器5.3.5
上失败。
为什么呢?我无法理解它,我使用base64比较了开发和产品的图像串,它们是相同的。我需要查看从.0
更改为.5
的内容?
编辑:是的,GD2已安装且工作正常。顺便说一句,WordPress(3.1)也安装在这台服务器上,所有图像功能都正常工作,这也是我很困惑的原因。
修改2
使用display_errors进行调试后(我知道应该先完成此操作),返回的错误是:
Warning: imagecreatefromstring(): No JPEG support in this PHP build
这是否意味着我必须重新安装带有JPEG支持的GD,或者它可以在安装后立即启用,IE吗?
答案 0 :(得分:2)
<?php phpinfo(); ?>
或$> php -m
)且配置正确(使用$> php --re GD
和$> php --ri GD
)。error_reporting(E_ALL)
strace
(如果在linux上)或TraceNT(在Windows上)运行它,看看错误从哪里开始。