出现这个问题一般是php-gd没有安装的问题,因此需要安装php-gd。
安装如下:
~# sudo apt install php-gd
查看`php-gd` 版本
~# php --ri gd
可以看到安装版本为2.2.5
gd
GD Support => enabled
GD headers Version => 2.2.5
GD library Version => 2.2.5
FreeType Support => enabled
FreeType Linkage => with freetype
FreeType Version => 2.8.1
GIF Read Support => enabled
GIF Create Support => enabled
JPEG Support => enabled
libJPEG Version => 8
PNG Support => enabled
libPNG Version => 1.6.34
WBMP Support => enabled
XPM Support => enabled
libXpm Version => 30411
XBM Support => enabled
WebP Support => enabled
Directive => Local Value => Master Value
gd.jpeg_ignore_warning => 1 => 1
重点来了,如果安装完php-gd插件之后,同时也确定gd为enable状态,但是DEDE安装界面显示gd依然为off,则说明还有某个地方有问题。
~# vim /var/www/www1/install/install.inc.php
打开目标文件夹里的install.inc.php,其中有个函数如下
function gdversion()
{
//没启用php.ini函数的情况下如果有GD默认视作2.0以上版本
//因为我是ubuntu服务器,没有配置php.ini,所以这里返回的是GD2.0版本,然而我的GD版本为2.2.5,所以手动配置版本号
if(!function_exists('phpinfo'))
{
//if(function_exists('imagecreate')) return '2.0';注释掉这里改为下面的
if(function_exists('imagecreate')) return '2.2.5';
else return 0;
}
else
{
ob_start();
phpinfo(8);
$module_info = ob_get_contents();
ob_end_clean();
if(preg_match("/\bgd\s+version\b[^\d\n\r]+?([\d\.]+)/i", $module_info,$matches)) { $gdversion_h = $matches[1]; }
else { $gdversion_h = 0; }
//return $gdversion_h;把这一行也注释掉,修改为下面的代码
return '2.2.5';
}
}
查看结果