我imagecreatefromjpeg()
在 PHP 中遇到了这个奇怪的问题。它Uncaught Error: Call to undefined function
在我的一个脚本中返回一个,没有任何明显的原因。它是我编写的 PHP 类的一部分,我正在测试。我正在使用扩展名来识别此测试环境中的文件类型,因为我使用的是手动传递给函数的文件:
switch ($extension) {
case "png":
$img_o = @imagecreatefrompng($tmpname);
$img_g = imagescale($img_o, $nw, $nh, IMG_BICUBIC_FIXED);
imagepng($img_g, $tmpname);
break;
case "gif":
$img_o = @imagecreatefromgif($tmpname);
$img_g = imagescale($img_o, $nw, $nh, IMG_BICUBIC_FIXED);
imagegif($img_g, $tmpname);
break;
default:
$img_o = @imagecreatefromjpeg($tmpname);
$img_g = imagescale($img_o, $nw, $nh, IMG_BICUBIC_FIXED);
imagejpeg($img_g, $tmpname);
break;
}
奇怪的是,两者都可以完美地工作imagecreatefrompng()
。imagecreatefromgif()
我检查了 GD2 是否已安装并启用(确实如此),但其他两个功能工作的事实让我认为问题出在其他问题上。
此代码在升级到 PHP 7.4.18 之前可以正常工作
完整的错误信息是
PHP Fatal error: Uncaught Error: Call to undefined function SL\\imagecreatefromjpeg()
我还认为这可能与从命名空间类内部调用该函数的事实有关,但在这种情况下,其他 2 个函数也应该抛出错误。
您对如何解决这个问题有任何想法吗?提前谢谢你,S。