Call to undefined function imagecreatefromjpeg() 解决方案

2023-03-27 20:16:19

场景描述

一般的php环境下对于图片处理的GD库,一般只支持png和gif之类的图片处理,对于jpg格式的图片无法处理。通过php相关信息的查看也可以看到结果

GD Support => enabled
GD Version => bundled (2.1.0 compatible)
GIF Read Support => enabled
GIF Create Support => enabled
PNG Support => enabled
libPNG Version => 1.5.13
WBMP Support => enabled
XBM Support => enabled

从上面可以看出,并不支持jpg或者jpeg图片的处理,这是php程序执行imagecreatefromjpeg方法时将会报错

Call to undefined function imagecreatefromjpeg()

解决方案

  1. 首先我们要先安装jpeg处理的扩展,下载相关的资源可以从 http://www.ijg.org/files/ 网址下载,我们这里下载v8b版本
    wget http://www.ijg.org/files/jpegsrc.v8b.tar.gz
    
  2. 接下来进行解压编译安装
    tar -zxvf  jpegsrc.v8b.tar.gz
    cd jpeg-8b
    ./configure --prefix=/homel/jpeg --enable-shared --enable-static 
    make && make install
    
  3. 根据安装的jpeg库重新编译安装gd扩展库, 进入php源码目录
    cd ext/gd
    ./configure --with-php-config=/usr/local/bin/php-config --with-jpeg-dir=/home/jpeg/
    make && make install
    
  4. 将生成的gd.so文件在php.ini配置文件中进行配置
  5. 这时通过查看php的信息可以看到已经支持jpeg的处理了
    GD Support => enabled
    GD Version => bundled (2.1.0 compatible)
    GIF Read Support => enabled
    GIF Create Support => enabled
    JPEG Support => enabled
    libJPEG Version => 8
    PNG Support => enabled
    libPNG Version => 1.5.13
    WBMP Support => enabled
    XBM Support => enabled
    

备注

有的环境可能还会出现一些问题,这时我们可以通过安装以下扩展库,再次尝试上述过程

yum install libjpeg-devel freetype-devel libpng-devel
  • 作者:晨阳夕露
  • 原文链接:https://cyxlgzs.blog.csdn.net/article/details/103460803
    更新时间:2023-03-27 20:16:19