在php:7.2-fpm-alpine自定义docker映像中安装xmlreader所需的库是什么?

问题描述 投票:2回答:1

对于此作曲家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

php xml docker
1个回答
3
投票

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/*

我检查了,工作正常。希望能帮助您。

© www.soinside.com 2019 - 2024. All rights reserved.