Php 调用未定义的函数imagecreatefromjpeg()并启用GD
我正在用PHP5.5.9开发Ubuntu14.04LTS 启用GD后,我与 但每次我尝试使用imagecreatefromjpeg()时,仍会显示此消息 致命错误:在第34行的/./library/image.php中调用未定义的函数imagecreatefromjpeg() 我甚至试着用这个从命令行检查它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
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为什么要这么做?因此需要注释和详细信息,而不仅仅是代码示例。