Skip to content

Commit

Permalink
Switch to the module distribution of remi-repo
Browse files Browse the repository at this point in the history
  • Loading branch information
mnapoli committed Nov 18, 2022
1 parent cf9f233 commit 46c89f5
Show file tree
Hide file tree
Showing 2 changed files with 127 additions and 125 deletions.
125 changes: 63 additions & 62 deletions php-80/cpu-x86.Dockerfile
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
FROM public.ecr.aws/lambda/provided:al2-x86_64 as binary

# Specifying the exact PHP version lets us avoid the Docker cache when a new version comes out
ENV VERSION_PHP=8.0.24-1
ENV VERSION_PHP=8.0.25-1
# Check out the latest version available on this page:
# https://rpms.remirepo.net/enterprise/7/php80/x86_64/repoview/php.html

Expand All @@ -13,6 +13,7 @@ RUN mkdir /bref \
&& mkdir /bref/lib \
&& mkdir -p /bref/bref/extensions

# yum-utils installs the yum-config-manager command
RUN yum install -y \
https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm \
https://rpms.remirepo.net/enterprise/remi-release-7.rpm \
Expand All @@ -26,7 +27,7 @@ RUN yum update -y && yum upgrade -y

# --setopt=skip_missing_names_on_install=False makes sure we get an error if a package is missing
RUN yum install --setopt=skip_missing_names_on_install=False -y \
php80-php-${VERSION_PHP}.el7.remi.x86_64
php-cli-${VERSION_PHP}.el7.remi.x86_64

# These files are included on Amazon Linux 2

Expand All @@ -44,7 +45,7 @@ RUN yum install --setopt=skip_missing_names_on_install=False -y \
# RUN cp /lib64/libsmime3.so /bref/lib/libsmime3.so

# PHP Binary
RUN cp /opt/remi/php80/root/usr/bin/php /bref/bin/php && chmod +x /bref/bin/php
RUN cp /usr/bin/php /bref/bin/php && chmod +x /bref/bin/php
RUN cp /lib64/libtinfo.so.5 /bref/lib/libtinfo.so.5
RUN cp /lib64/libedit.so.0 /bref/lib/libedit.so.0
RUN cp /lib64/libncurses.so.5 /bref/lib/libncurses.so.5
Expand All @@ -68,17 +69,17 @@ RUN cp /lib64/libncurses.so.5 /bref/lib/libncurses.so.5
#RUN cp /lib64/libpcre.so.1 /bref/lib/libpcre.so.1

# Default Extensions
RUN cp /opt/remi/php80/root/lib64/php/modules/ctype.so /bref/bref/extensions/ctype.so
RUN cp /opt/remi/php80/root/lib64/php/modules/exif.so /bref/bref/extensions/exif.so
RUN cp /opt/remi/php80/root/lib64/php/modules/fileinfo.so /bref/bref/extensions/fileinfo.so
RUN cp /opt/remi/php80/root/lib64/php/modules/ftp.so /bref/bref/extensions/ftp.so
RUN cp /opt/remi/php80/root/lib64/php/modules/gettext.so /bref/bref/extensions/gettext.so
RUN cp /opt/remi/php80/root/lib64/php/modules/iconv.so /bref/bref/extensions/iconv.so
RUN cp /opt/remi/php80/root/lib64/php/modules/sockets.so /bref/bref/extensions/sockets.so
RUN cp /opt/remi/php80/root/lib64/php/modules/tokenizer.so /bref/bref/extensions/tokenizer.so
RUN cp /lib64/php/modules/ctype.so /bref/bref/extensions/ctype.so
RUN cp /lib64/php/modules/exif.so /bref/bref/extensions/exif.so
RUN cp /lib64/php/modules/fileinfo.so /bref/bref/extensions/fileinfo.so
RUN cp /lib64/php/modules/ftp.so /bref/bref/extensions/ftp.so
RUN cp /lib64/php/modules/gettext.so /bref/bref/extensions/gettext.so
RUN cp /lib64/php/modules/iconv.so /bref/bref/extensions/iconv.so
RUN cp /lib64/php/modules/sockets.so /bref/bref/extensions/sockets.so
RUN cp /lib64/php/modules/tokenizer.so /bref/bref/extensions/tokenizer.so

# cURL
RUN cp /opt/remi/php80/root/lib64/php/modules/curl.so /bref/bref/extensions/curl.so
RUN cp /lib64/php/modules/curl.so /bref/bref/extensions/curl.so
#RUN cp /lib64/libcurl.so.4 /bref/lib/libcurl.so.4
#RUN cp /lib64/libnghttp2.so.14 /bref/lib/libnghttp2.so.14
#RUN cp /lib64/libidn2.so.0 /bref/lib/libidn2.so.0
Expand All @@ -90,79 +91,79 @@ RUN cp /opt/remi/php80/root/lib64/php/modules/curl.so /bref/bref/extensions/curl
#RUN cp /lib64/libplc4.so /bref/lib/libplc4.so
#RUN cp /lib64/libnspr4.so /bref/lib/libnspr4.so

# sodium
RUN cp /opt/remi/php80/root/lib64/php/modules/sodium.so /bref/bref/extensions/sodium.so
RUN cp /usr/lib64/libsodium.so.23 /bref/lib/libsodium.so.23

FROM binary as extensions

RUN yum install -y --setopt=skip_missing_names_on_install=False \
php80-php-mbstring \
php80-php-bcmath \
php80-php-dom \
php80-php-mysqli \
php80-php-mysqlnd \
php80-php-opcache \
php80-php-pdo \
php80-php-pdo_mysql \
php80-php-phar \
php80-php-posix \
php80-php-simplexml \
php80-php-soap \
php80-php-xml \
php80-php-xmlreader \
php80-php-xmlwriter \
php80-php-xsl \
php80-php-intl \
php80-php-apcu \
php80-php-pdo_pgsql \
php80-php-zip

RUN cp /opt/remi/php80/root/lib64/php/modules/mbstring.so /bref/bref/extensions/mbstring.so
php-mbstring \
php-bcmath \
php-dom \
php-mysqli \
php-mysqlnd \
php-opcache \
php-pdo \
php-pdo_mysql \
php-phar \
php-posix \
php-simplexml \
php-soap \
php-sodium \
php-xml \
php-xmlreader \
php-xmlwriter \
php-xsl \
php-intl \
php-apcu \
php-pdo_pgsql \
php-zip

RUN cp /lib64/php/modules/mbstring.so /bref/bref/extensions/mbstring.so
RUN cp /usr/lib64/libonig.so.105 /bref/lib/libonig.so.105

# mysqli depends on mysqlnd
RUN cp /opt/remi/php80/root/lib64/php/modules/mysqli.so /bref/bref/extensions/mysqli.so
RUN cp /opt/remi/php80/root/lib64/php/modules/mysqlnd.so /bref/bref/extensions/mysqlnd.so
RUN cp /lib64/php/modules/mysqli.so /bref/bref/extensions/mysqli.so
RUN cp /lib64/php/modules/mysqlnd.so /bref/bref/extensions/mysqlnd.so

#RUN cp /usr/lib64/libsqlite3.so.0 /bref/lib/libsqlite3.so.0
RUN cp /opt/remi/php80/root/lib64/php/modules/sqlite3.so /bref/bref/extensions/sqlite3.so
RUN cp /lib64/php/modules/sqlite3.so /bref/bref/extensions/sqlite3.so

RUN cp /usr/lib64/libgpg-error.so.0 /bref/lib/libgpg-error.so.0
RUN cp /usr/lib64/libgcrypt.so.11 /bref/lib/libgcrypt.so.11
RUN cp /usr/lib64/libexslt.so.0 /bref/lib/libexslt.so.0
RUN cp /usr/lib64/libxslt.so.1 /bref/lib/libxslt.so.1
RUN cp /opt/remi/php80/root/lib64/php/modules/xsl.so /bref/bref/extensions/xsl.so
RUN cp /lib64/php/modules/xsl.so /bref/bref/extensions/xsl.so

RUN cp /usr/lib64/libicuio.so.71 /bref/lib/libicuio.so.71
RUN cp /usr/lib64/libicui18n.so.71 /bref/lib/libicui18n.so.71
RUN cp /usr/lib64/libicuuc.so.71 /bref/lib/libicuuc.so.71
RUN cp /usr/lib64/libicudata.so.71 /bref/lib/libicudata.so.71
RUN cp /opt/remi/php80/root/lib64/php/modules/intl.so /bref/bref/extensions/intl.so
RUN cp /lib64/php/modules/intl.so /bref/bref/extensions/intl.so

RUN cp /opt/remi/php80/root/lib64/php/modules/apcu.so /bref/bref/extensions/apcu.so
RUN cp /lib64/php/modules/apcu.so /bref/bref/extensions/apcu.so

RUN cp /usr/lib64/libpq.so.5 /bref/lib/libpq.so.5
#RUN cp /usr/lib64/libldap_r-2.4.so.2 /bref/lib/libldap_r-2.4.so.2
RUN cp /opt/remi/php80/root/lib64/php/modules/pdo_pgsql.so /bref/bref/extensions/pdo_pgsql.so
RUN cp /lib64/php/modules/pdo_pgsql.so /bref/bref/extensions/pdo_pgsql.so

RUN cp /usr/lib64/libzip.so.5 /bref/lib/libzip.so.5
RUN cp /usr/lib64/libzstd.so.1 /bref/lib/libzstd.so.1
RUN cp /opt/remi/php80/root/lib64/php/modules/zip.so /bref/bref/extensions/zip.so

RUN cp /opt/remi/php80/root/lib64/php/modules/bcmath.so /bref/bref/extensions/bcmath.so
RUN cp /opt/remi/php80/root/lib64/php/modules/dom.so /bref/bref/extensions/dom.so
RUN cp /opt/remi/php80/root/lib64/php/modules/opcache.so /bref/bref/extensions/opcache.so
RUN cp /opt/remi/php80/root/lib64/php/modules/pdo.so /bref/bref/extensions/pdo.so
RUN cp /opt/remi/php80/root/lib64/php/modules/pdo_mysql.so /bref/bref/extensions/pdo_mysql.so
RUN cp /opt/remi/php80/root/lib64/php/modules/pdo_sqlite.so /bref/bref/extensions/pdo_sqlite.so
RUN cp /opt/remi/php80/root/lib64/php/modules/phar.so /bref/bref/extensions/phar.so
RUN cp /opt/remi/php80/root/lib64/php/modules/posix.so /bref/bref/extensions/posix.so
RUN cp /opt/remi/php80/root/lib64/php/modules/simplexml.so /bref/bref/extensions/simplexml.so
RUN cp /opt/remi/php80/root/lib64/php/modules/soap.so /bref/bref/extensions/soap.so
RUN cp /opt/remi/php80/root/lib64/php/modules/xml.so /bref/bref/extensions/xml.so
RUN cp /opt/remi/php80/root/lib64/php/modules/xmlreader.so /bref/bref/extensions/xmlreader.so
RUN cp /opt/remi/php80/root/lib64/php/modules/xmlwriter.so /bref/bref/extensions/xmlwriter.so
RUN cp /lib64/php/modules/zip.so /bref/bref/extensions/zip.so

RUN cp /lib64/php/modules/sodium.so /bref/bref/extensions/sodium.so
RUN cp /usr/lib64/libsodium.so.23 /bref/lib/libsodium.so.23

RUN cp /lib64/php/modules/bcmath.so /bref/bref/extensions/bcmath.so
RUN cp /lib64/php/modules/dom.so /bref/bref/extensions/dom.so
RUN cp /lib64/php/modules/opcache.so /bref/bref/extensions/opcache.so
RUN cp /lib64/php/modules/pdo.so /bref/bref/extensions/pdo.so
RUN cp /lib64/php/modules/pdo_mysql.so /bref/bref/extensions/pdo_mysql.so
RUN cp /lib64/php/modules/pdo_sqlite.so /bref/bref/extensions/pdo_sqlite.so
RUN cp /lib64/php/modules/phar.so /bref/bref/extensions/phar.so
RUN cp /lib64/php/modules/posix.so /bref/bref/extensions/posix.so
RUN cp /lib64/php/modules/simplexml.so /bref/bref/extensions/simplexml.so
RUN cp /lib64/php/modules/soap.so /bref/bref/extensions/soap.so
RUN cp /lib64/php/modules/xml.so /bref/bref/extensions/xml.so
RUN cp /lib64/php/modules/xmlreader.so /bref/bref/extensions/xmlreader.so
RUN cp /lib64/php/modules/xmlwriter.so /bref/bref/extensions/xmlwriter.so

FROM public.ecr.aws/lambda/provided:al2-x86_64 as isolation

Expand Down Expand Up @@ -197,11 +198,11 @@ RUN zip --quiet --recurse-paths /tmp/layer.zip .

FROM extensions as fpm-extension

RUN yum install -y php80-php-fpm
RUN yum install -y php-fpm

FROM isolation as fpm

COPY --from=fpm-extension /opt/remi/php80/root/sbin/php-fpm /opt/bin/php-fpm
COPY --from=fpm-extension /sbin/php-fpm /opt/bin/php-fpm

COPY --from=fpm-extension /usr/lib64/libsystemd.so.0 /opt/lib/libsystemd.so.0
COPY --from=fpm-extension /usr/lib64/liblz4.so.1 /opt/lib/liblz4.so.1
Expand Down
Loading

0 comments on commit 46c89f5

Please sign in to comment.