Fatal error: Uncaught Error: Call to undefined function imagecreatefromjpeg()解決辦法

2024年10月27日19:55:10 發(fā)表評(píng)論 1,090 ℃

最近把博客遷移到了docker容器里面,七八年沒安裝過PHP的依賴了,才發(fā)現(xiàn)php這個(gè)依賴真的要人半條命,折騰了半天,還是python依賴方便。

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

一開始使用的PHP7.1依賴安裝好以后,登錄后臺(tái)提示不是安全的版本,又切換到了PHP7.4,但是安裝7.1的依賴安裝方式無法成功安裝,不是說PHP是世界上最好的語言嗎?

主要的問題表現(xiàn)就是,博客縮略圖無法顯示,如圖:

Fatal error: Uncaught Error: Call to undefined function imagecreatefromjpeg()解決辦法

開啟PHP詳細(xì)報(bào)錯(cuò)提示:

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

這個(gè)問題主要是缺少imagick和libjpeg庫(kù),通過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

【騰訊云】云服務(wù)器、云數(shù)據(jù)庫(kù)、COS、CDN、短信等云產(chǎn)品特惠熱賣中

發(fā)表評(píng)論

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