猿问

在 php:7.2-fpm-alpine 自定义 docker 映像中安装 xmlreade

对于这个作曲家包,我需要将 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的,我也安装了reqwuired libxml2-dev。


缥缈止盈
浏览 260回答 1
1回答

幕布斯6054654

XMLWriter 扩展最初是 PHP 5 的 PECL 扩展。它后来被添加到 PHP 源代码(捆绑)中,直到 PHP 5.1.2。默认情况下启用此扩展。XMLReader 扩展最初是 PHP 5 的 PECL 扩展。后来从 PHP 5.1.0 移到 PHP 源代码(捆绑),后来从 PHP 5.1.2 开始默认启用。你需要删除dom, xmlwriter and xmlreaderFROM php:7.2-fpm-alpineRUN 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/*我检查了,工作正常。希望能帮到你。
随时随地看视频慕课网APP
我要回答