Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What is required library needed for installing xmlreader in php:7.2-fpm-alpine custom docker image?

Tags:

php

docker

xml

For this composer package I need the xmlreader into my custom docker php image:

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

But when I build it I get the following error:

/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

So I assume that I am missing some library but which one I am missing?

The obviously dom extention that is also required Is installed via docker-php-ext-install and I also the reqwuired libxml2-dev is installed as well.

like image 237
Dimitrios Desyllas Avatar asked Oct 24 '25 22:10

Dimitrios Desyllas


1 Answers

The XMLWriter extension was initially a PECL extension for PHP 5. It was later added to the PHP source (bundled) as of PHP 5.1.2. This extension is enabled by default.

The XMLReader extension was initially a PECL extension for PHP 5. It was later moved to the PHP source (bundled) as of PHP 5.1.0, and later enabled by default as of PHP 5.1.2.

You need remove 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/*

I checked, work fine. Hope help you.

like image 64
Dmitry Avatar answered Oct 26 '25 10:10

Dmitry