Php 调用未定义的函数imagecreatefromjpeg()并启用GD

Php 调用未定义的函数imagecreatefromjpeg()并启用GD,php,ubuntu,opencart,gd,Php,Ubuntu,Opencart,Gd,我正在用PHP5.5.9开发Ubuntu14.04LTS 启用GD后,我与 但每次我尝试使用imagecreatefromjpeg()时,仍会显示此消息 致命错误:在第34行的/./library/image.php中调用未定义的函数imagecreatefromjpeg() 我甚至试着用这个从命令行检查它 php -r "var_dump(function_exists('imageantialias'));" 它还给了我 布尔(假) 有没有办法在不重新编译的情况下修复它?试试这个 Try

我正在用PHP5.5.9开发Ubuntu14.04LTS 启用GD后,我与 但每次我尝试使用imagecreatefromjpeg()时,仍会显示此消息

致命错误:在第34行的/./library/image.php中调用未定义的函数imagecreatefromjpeg()

我甚至试着用这个从命令行检查它

php -r "var_dump(function_exists('imageantialias'));"
它还给了我 布尔(假)

有没有办法在不重新编译的情况下修复它?

试试这个
Try this
<?php
function LoadJpeg($imgname)
{
    /* Attempt to open */
    $im = @imagecreatefromjpeg($imgname);

    /* See if it failed */
    if(!$im)
    {
        /* Create a black image */
        $im  = imagecreatetruecolor(150, 30);
        $bgc = imagecolorallocate($im, 255, 255, 255);
        $tc  = imagecolorallocate($im, 0, 0, 0);

        imagefilledrectangle($im, 0, 0, 150, 30, $bgc);

        /* Output an error message */
        imagestring($im, 1, 5, 5, 'Error loading ' . $imgname, $tc);
    }

    return $im;
}

header('Content-Type: image/jpeg');

$img = LoadJpeg('bogus.image');

imagejpeg($img);
imagedestroy($img);
?>

我认为您安装了不完整版本的
gd

编译
gd
扩展时,使用标志
--带jpeg dir=dir
--带freetype dir=dir

注意:不要忘记清洁

下图是gd的
不完整版本:

下图是gd的完整版本:

在我的例子中,GD在升级到PHP7.3后丢失。因此,我只是使用以下命令添加了它:

sudo apt-get install php7.3-gd

从文档中可以看出:
JPEG支持只有在PHP是根据GD-1.8或更高版本编译的情况下才可用。
看起来这是一个双重功能:我在那篇文章中尝试了所有可能的解决方案,但都没有成功,所以为什么不尝试这个调用:
PHP-r“var_dump(function_exists('imagecreatefromjpeg');”
?或者尝试这个
var_转储(函数_存在('imagecreatefromjpeg'))
在应该使用此方法的文件中(当然在调用之前)。您如何知道启用了
gd
?来自web的PHP和来自CLI的PHP可能有不同的配置。请强调“不要忘记保持干净”。这有什么作用?OP为什么要这么做?因此需要注释和详细信息,而不仅仅是代码示例。