对于这个作曲家包,我需要将 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/*
我检查了,工作正常。希望对您有所帮助。