Какая библиотека необходима для установки xmlreader в php: 7.2-fpm-alpine custom docker image? - PullRequest
2 голосов
/ 17 января 2020

Для этого composer пакета мне нужен 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.

1 Ответ

3 голосов
/ 17 января 2020

Расширение XMLWriter изначально было расширением PECL для PHP 5. Позднее оно было добавлено в источник PHP (в комплекте) с PHP 5.1.2. Это расширение включено по умолчанию.

Расширение XMLReader изначально было расширением PECL для PHP 5. Позднее оно было перемещено в источник PHP (в комплекте) с PHP 5.1.0, и позже включается по умолчанию 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/*

Я проверил, работает нормально. Надеюсь, вам поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...