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