对于此作曲家package,我需要将xmlreader放入我的自定义docker php图像中:
FROM php:7.2-fpm-alpine
RUN apk add --update libzip-dev libmcrypt-dev libpng-dev libjpeg-turbo-dev libxml2-dev icu-dev postgresql-dev curl-dev libmemcached-dev &&\
apk add --update --virtual build-dependencies build-base gcc wget autoconf &&\
docker-php-ext-install gd && \
docker-php-ext-install zip &&\
docker-php-ext-install dom xml xmlwriter xmlreader &&\
apk del build-dependencies &&\
rm -rf /var/cache/apk/*
但是当我构建它时,出现以下错误:
/usr/src/php/ext/xmlreader/php_xmlreader.c:32:10: fatal error: ext/dom/dom_ce.h: No such file or directory
#include "ext/dom/dom_ce.h"
^~~~~~~~~~~~~~~~~~
compilation terminated.
make: *** [Makefile:194: php_xmlreader.lo] Error 1
Removing intermediate container 0b3f031b2479
因此,我假设我缺少一些图书馆,但是我缺少哪一个?
显然还需要通过dom
安装docker-php-ext-install
扩展,并且我还安装了必需的libxml2-dev
。
XMLWriter扩展最初是PHP 5的PECL扩展。它后来从PHP 5.1.2开始被添加到PHP源(捆绑)中。这个默认情况下启用扩展。
XMLReader扩展最初是PHP 5的PECL扩展。它后来从PHP 5.1.0起被移至PHP源(捆绑),并且后来自PHP 5.1.2起默认启用。
您需要删除dom, xmlwriter and xmlreader
FROM php:7.2-fpm-alpine
RUN apk add --update libzip-dev libmcrypt-dev libpng-dev libjpeg-turbo-dev libxml2-dev icu-dev postgresql-dev curl-dev libmemcached-dev &&\
apk add --update --virtual build-dependencies build-base gcc wget autoconf && \
docker-php-ext-install gd && \
docker-php-ext-install zip &&\
docker-php-ext-install xml &&\
apk del build-dependencies &&\
rm -rf /var/cache/apk/*
我检查了,工作正常。希望能帮助您。