Photo by Ben Griffiths on Unsplash
Docker 安裝 Imagick 錯誤
RUN install-php-extensions imagick
錯誤訊息
22.24 Saved /tmp/pear/temp/imagick/ImagickPixel_arginfo.h
22.25 In /tmp/pear/temp/imagick/Imagick.stub.php:
22.25 Unterminated preprocessor conditions
22.26 make: *** [Makefile:196: /tmp/pear/temp/imagick/Imagick_arginfo.h] Error 1
22.26 ERROR: `make -j10 INSTALL_ROOT="/tmp/pear/temp/pear-build-defaultuserAdMKLn/install-imagick-3.7.0" install' failed
解決方式
安裝 Imagick 的時候指定到正確的版本 master
28f27044e435a2b203e32675e942eb8de620ee58
# https://github.com/Imagick/imagick/commits/master/
# RUN install-php-extensions imagick/imagick@master
RUN install-php-extensions imagick/imagick@28f27044e435a2b203e32675e942eb8de620ee58
目前的 master
版本是可以正常地執行,但是為了避免 master
會隨時異動導致正式環境可能會有隨時壞掉的危險,所以指定到目前 master
的版本號 28f27044e435a2b203e32675e942eb8de620ee58
Imagick 版本號碼: https://github.com/Imagick/imagick/commits/master/
Reference
- GitHub - mlocati/docker-php-extension-installer: Easily install PHP extensions in Docker containers
- Install error “Unterminated preprocessor conditions” in php 8.3 · Issue #640 · Imagick/imagick · GitHub
- Transient Error when Building Imagick in php 8.3.x on amd64 on alpine · Issue #643 · Imagick/imagick · GitHub
- ImageMagick not installed · Issue #820 · dunglas/frankenphp · GitHub