Fatal error: Uncaught Error: Call to undefined function imagecreatefromjpeg()解决办法

2024年10月27日19:55:10 发表评论 45 ℃

最近把博客迁移到了docker容器里面,七八年没安装过PHP的依赖了,才发现php这个依赖真的要人半条命,折腾了半天,还是python依赖方便。

PHP和wordpress官方都提供了docker镜像,我采用的是PHP官方的镜像。

一开始使用的PHP7.1依赖安装好以后,登录后台提示不是安全的版本,又切换到了PHP7.4,但是安装7.1的依赖安装方式无法成功安装,不是说PHP是世界上最好的语言吗?

主要的问题表现就是,博客缩略图无法显示,如图:

Fatal error: Uncaught Error: Call to undefined function imagecreatefromjpeg()解决办法

开启PHP详细报错提示:

Fatal error: Uncaught Error: Call to undefined function imagecreatefromjpeg() in /xxx/timthumb-config.php:1041 Stack trace: #0

这个问题主要是缺少imagick和libjpeg库,通过dockerfile重新编译就行了。

    # 安装imagick
    wget -P /tmp/ https://pecl.php.net/get/imagick-3.7.0.tgz &&\
    tar -zxvf /tmp/imagick-3.7.0.tgz -C /tmp &&\
    mkdir -pv /usr/src/php/ext &&\
    mv -f /tmp/imagick-3.7.0 /usr/src/php/ext/imagick &&\
    rm -rf /tmp/imagick-3.7.0.tgz &&\
    # 安装jpeglib
    wget -P /tmp/ http://www.ijg.org/files/jpegsrc.v9c.tar.gz &&\
    tar -zxvf /tmp/jpegsrc.v9c.tar.gz -C /tmp && \
    cd /tmp/jpeg-9c &&\
    ./configure --prefix=/usr/local/lib/libjpeg --enable-shared &&\
    make && make install &&\
    rm -rf /tmp/jpeg-9c &&\
    docker-php-ext-configure gd --with-jpeg=/usr/local/lib/libjpeg  &&\
    docker-php-ext-install imagick&&\
    docker-php-ext-enable imagick

【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: