Merge pull request #2560 from acelaya-forks/pie

Install compatible extensions in dev docker images with pie
This commit is contained in:
Alejandro Celaya
2025-12-22 12:54:38 +01:00
committed by GitHub
4 changed files with 27 additions and 33 deletions

View File

@@ -15,12 +15,12 @@ WORKDIR /etc/shlink
# Install required PHP extensions # Install required PHP extensions
RUN \ RUN \
# Temp install dev dependencies needed to compile the extensions # Temp install dev dependencies needed to compile the extensions \
apk add --no-cache --virtual .dev-deps sqlite-dev postgresql-dev icu-dev libzip-dev zlib-dev linux-headers && \ apk add --no-cache --virtual .dev-deps sqlite-dev postgresql-dev icu-dev libzip-dev zlib-dev linux-headers && \
docker-php-ext-install -j"$(nproc)" pdo_mysql pdo_pgsql intl calendar sockets bcmath zip && \ docker-php-ext-install -j"$(nproc)" pdo_mysql pdo_pgsql intl calendar sockets bcmath zip && \
apk add --no-cache sqlite-libs && \ apk add --no-cache sqlite-libs && \
docker-php-ext-install -j"$(nproc)" pdo_sqlite && \ docker-php-ext-install -j"$(nproc)" pdo_sqlite && \
# Remove temp dev extensions, and install prod equivalents that are required at runtime # Remove temp dev extensions, and install prod equivalents that are required at runtime \
apk del .dev-deps && \ apk del .dev-deps && \
apk add --no-cache postgresql icu libzip libpng apk add --no-cache postgresql icu libzip libpng

View File

@@ -21,24 +21,25 @@ RUN docker-php-ext-install pdo_sqlite
RUN apk add --no-cache icu-dev RUN apk add --no-cache icu-dev
RUN docker-php-ext-install intl RUN docker-php-ext-install intl
RUN apk add --no-cache libzip-dev zlib-dev
RUN docker-php-ext-install zip
RUN apk add --no-cache postgresql-dev RUN apk add --no-cache postgresql-dev
RUN docker-php-ext-install pdo_pgsql RUN docker-php-ext-install pdo_pgsql
RUN apk add --no-cache --virtual .phpize-deps $PHPIZE_DEPS linux-headers && \ COPY --from=ghcr.io/php/pie:bin /pie /usr/bin/pie
RUN apk add --no-cache libzip-dev zlib-dev && \
apk add --no-cache --virtual .phpize-deps $PHPIZE_DEPS linux-headers && \
docker-php-ext-install sockets && \ docker-php-ext-install sockets && \
pie install xdebug/xdebug && \
pie install pecl/zip && \
apk del .phpize-deps apk del .phpize-deps
RUN docker-php-ext-install bcmath RUN docker-php-ext-install bcmath
# Install xdebug and sqlsrv driver # Install sqlsrv driver
RUN apk add --update linux-headers && \ RUN apk add --update linux-headers && \
wget https://download.microsoft.com/download/${MS_ODBC_DOWNLOAD}/msodbcsql${MS_ODBC_SQL_VERSION}-1_amd64.apk && \ wget https://download.microsoft.com/download/${MS_ODBC_DOWNLOAD}/msodbcsql${MS_ODBC_SQL_VERSION}-1_amd64.apk && \
apk add --allow-untrusted msodbcsql${MS_ODBC_SQL_VERSION}-1_amd64.apk && \ apk add --allow-untrusted msodbcsql${MS_ODBC_SQL_VERSION}-1_amd64.apk && \
apk add --no-cache --virtual .phpize-deps $PHPIZE_DEPS unixodbc-dev && \ apk add --no-cache --virtual .phpize-deps $PHPIZE_DEPS unixodbc-dev && \
pecl install pdo_sqlsrv-${PDO_SQLSRV_VERSION} xdebug && \ pecl install pdo_sqlsrv-${PDO_SQLSRV_VERSION} && \
docker-php-ext-enable pdo_sqlsrv xdebug && \ docker-php-ext-enable pdo_sqlsrv && \
apk del .phpize-deps && \ apk del .phpize-deps && \
rm msodbcsql${MS_ODBC_SQL_VERSION}-1_amd64.apk rm msodbcsql${MS_ODBC_SQL_VERSION}-1_amd64.apk

View File

@@ -22,34 +22,26 @@ RUN docker-php-ext-install pdo_sqlite
RUN apk add --no-cache icu-dev RUN apk add --no-cache icu-dev
RUN docker-php-ext-install intl RUN docker-php-ext-install intl
RUN apk add --no-cache libzip-dev zlib-dev
RUN docker-php-ext-install zip
RUN apk add --no-cache postgresql-dev RUN apk add --no-cache postgresql-dev
RUN docker-php-ext-install pdo_pgsql RUN docker-php-ext-install pdo_pgsql
RUN apk add --no-cache --virtual .phpize-deps $PHPIZE_DEPS linux-headers && \ COPY --from=ghcr.io/php/pie:bin /pie /usr/bin/pie
RUN apk add --no-cache libzip-dev zlib-dev && \
apk add --no-cache --virtual .phpize-deps $PHPIZE_DEPS linux-headers && \
docker-php-ext-install sockets && \ docker-php-ext-install sockets && \
pie install xdebug/xdebug && \
pie install pecl/zip && \
pie install apcu/apcu && \
apk del .phpize-deps apk del .phpize-deps
RUN docker-php-ext-install bcmath RUN docker-php-ext-install bcmath
# Install APCu extension # Install sqlsrv driver
ADD https://pecl.php.net/get/apcu-$APCU_VERSION.tgz /tmp/apcu.tar.gz
RUN mkdir -p /usr/src/php/ext/apcu \
&& tar xf /tmp/apcu.tar.gz -C /usr/src/php/ext/apcu --strip-components=1 \
&& docker-php-ext-configure apcu \
&& docker-php-ext-install apcu \
&& rm /tmp/apcu.tar.gz \
&& rm /usr/local/etc/php/conf.d/docker-php-ext-apcu.ini \
&& echo extension=apcu.so > /usr/local/etc/php/conf.d/20-php-ext-apcu.ini
# Install xdebug and sqlsrv driver
RUN apk add --update linux-headers && \ RUN apk add --update linux-headers && \
wget https://download.microsoft.com/download/${MS_ODBC_DOWNLOAD}/msodbcsql${MS_ODBC_SQL_VERSION}-1_amd64.apk && \ wget https://download.microsoft.com/download/${MS_ODBC_DOWNLOAD}/msodbcsql${MS_ODBC_SQL_VERSION}-1_amd64.apk && \
apk add --allow-untrusted msodbcsql${MS_ODBC_SQL_VERSION}-1_amd64.apk && \ apk add --allow-untrusted msodbcsql${MS_ODBC_SQL_VERSION}-1_amd64.apk && \
apk add --no-cache --virtual .phpize-deps $PHPIZE_DEPS unixodbc-dev && \ apk add --no-cache --virtual .phpize-deps $PHPIZE_DEPS unixodbc-dev && \
pecl install pdo_sqlsrv-${PDO_SQLSRV_VERSION} xdebug && \ pecl install pdo_sqlsrv-${PDO_SQLSRV_VERSION} && \
docker-php-ext-enable pdo_sqlsrv xdebug && \ docker-php-ext-enable pdo_sqlsrv && \
apk del .phpize-deps && \ apk del .phpize-deps && \
rm msodbcsql${MS_ODBC_SQL_VERSION}-1_amd64.apk rm msodbcsql${MS_ODBC_SQL_VERSION}-1_amd64.apk

View File

@@ -21,24 +21,25 @@ RUN docker-php-ext-install pdo_sqlite
RUN apk add --no-cache icu-dev RUN apk add --no-cache icu-dev
RUN docker-php-ext-install intl RUN docker-php-ext-install intl
RUN apk add --no-cache libzip-dev zlib-dev
RUN docker-php-ext-install zip
RUN apk add --no-cache postgresql-dev RUN apk add --no-cache postgresql-dev
RUN docker-php-ext-install pdo_pgsql RUN docker-php-ext-install pdo_pgsql
RUN apk add --no-cache --virtual .phpize-deps $PHPIZE_DEPS linux-headers && \ COPY --from=ghcr.io/php/pie:bin /pie /usr/bin/pie
RUN apk add --no-cache libzip-dev zlib-dev && \
apk add --no-cache --virtual .phpize-deps $PHPIZE_DEPS linux-headers && \
docker-php-ext-install sockets && \ docker-php-ext-install sockets && \
pie install xdebug/xdebug && \
pie install pecl/zip && \
apk del .phpize-deps apk del .phpize-deps
RUN docker-php-ext-install bcmath RUN docker-php-ext-install bcmath
# Install xdebug and sqlsrv driver # Install sqlsrv driver
RUN apk add --update linux-headers && \ RUN apk add --update linux-headers && \
wget https://download.microsoft.com/download/${MS_ODBC_DOWNLOAD}/msodbcsql${MS_ODBC_SQL_VERSION}-1_amd64.apk && \ wget https://download.microsoft.com/download/${MS_ODBC_DOWNLOAD}/msodbcsql${MS_ODBC_SQL_VERSION}-1_amd64.apk && \
apk add --allow-untrusted msodbcsql${MS_ODBC_SQL_VERSION}-1_amd64.apk && \ apk add --allow-untrusted msodbcsql${MS_ODBC_SQL_VERSION}-1_amd64.apk && \
apk add --no-cache --virtual .phpize-deps $PHPIZE_DEPS unixodbc-dev && \ apk add --no-cache --virtual .phpize-deps $PHPIZE_DEPS unixodbc-dev && \
pecl install pdo_sqlsrv-${PDO_SQLSRV_VERSION} xdebug && \ pecl install pdo_sqlsrv-${PDO_SQLSRV_VERSION} && \
docker-php-ext-enable pdo_sqlsrv xdebug && \ docker-php-ext-enable pdo_sqlsrv && \
apk del .phpize-deps && \ apk del .phpize-deps && \
rm msodbcsql${MS_ODBC_SQL_VERSION}-1_amd64.apk rm msodbcsql${MS_ODBC_SQL_VERSION}-1_amd64.apk