最近把博客遷移到了docker容器里面,七八年沒安裝過PHP的依賴了,才發(fā)現(xiàn)php這個(gè)依賴真的要人半條命,折騰了半天,還是python依賴方便。
PHP和wordpress官方都提供了docker鏡像,我采用的是PHP官方的鏡像。
一開始使用的PHP7.1依賴安裝好以后,登錄后臺(tái)提示不是安全的版本,又切換到了PHP7.4,但是安裝7.1的依賴安裝方式無法成功安裝,不是說PHP是世界上最好的語言嗎?
主要的問題表現(xiàn)就是,博客縮略圖無法顯示,如圖:
開啟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
贊
0
賞