Compile LibXL extension for PHP 7.2 @ Ubuntu 18.04, using Docker multi-stage build
Dockerfile
FROM ubuntu:18.04 as build ENV DEBIAN_FRONTEND=noninteractive RUN apt-get update && apt-get install -y php7.2-dev libxml2-dev git wget RUN wget http://www.libxl.com/download/libxl-lin-3.8.5.tar.gz && \ tar -zxv -f libxl-lin-3.8.5.tar.gz && \ cd libxl-3.8.5.0/ && \ cp lib64/libxl.so /usr/lib/libxl.so && \ mkdir -p /usr/include/libxl_c/ && \ cp include_c/* /usr/include/libxl_c/ RUN git clone https://github.com/Jan-E/php_excel.git -b php7-issue241 && \ cd php_excel && \ phpize && \ ./configure --with-php-config=/usr/bin/php-config --with-libxl-incdir=/usr/include/libxl_c/ --with-libxml-dir=/usr/include/libxml2/ --with-excel && \ make FROM ubuntu:18.04 # Install your PHP stack [...] # Install LibXL COPY --from=build /php_excel/modules/excel.so /usr/lib/php/20170718/ COPY --from=build /libxl-3.8.5.0/lib64/libxl.so /usr/lib/libxl.so COPY ./docker/excel.ini /etc/php/7.2/mods-available/ RUN phpenmod excel # Other stuff [...]
/docker/excel.ini
; priority=30 extension=excel.so [excel] excel.license_name="Tiger Fok" excel.license_key="linux-xxxxxxxxxxxxxxxxxxxxxxxxxxx" excel.skip_empty=0