在 php:7.2-fpm-alpine 自定义 docker 镜像中安装 xmlreader 需要什么库?



对于这个作曲家包,我需要将 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/*

我检查了,工作正常。希望对您有所帮助。

最新更新