diff --git a/CHANGELOG.md b/CHANGELOG.md index cef807e8..5bcdd961 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,12 @@ ## {{ UNRELEASED_VERSION }} - [{{ UNRELEASED_DATE }}]({{ UNRELEASED_LINK }}) +* Updated 8.4RC image to 8.4 stable. +* Added MariaDB client tools to PHP 7.4-8.4 images [#120](https://github.com/lando/php/issues/120). +* Added `xdebug` and `imagick` extension to PHP 8.4 images. +* Added `xhprof` extension to PHP 7.4-8.4 images. +* Added `imagick` extension to PHP 8.3 images. +* Updated `sqlite3` to 3.45.1 in PHP 8.3-8.4 images. + ## v1.6.3 - [December 7, 2024](https://github.com/lando/php/releases/tag/v1.6.3) * Optimized for `midcore` diff --git a/docs/extensions.md b/docs/extensions.md index 134d51c9..cf417421 100644 --- a/docs/extensions.md +++ b/docs/extensions.md @@ -8,7 +8,7 @@ description: Learn what extensions are installed in the Lando PHP plugin | | 5.3 | 5.4 | 5.5 | 5.6 | 7.0 | 7.1 | 7.2 | 7.3 | 7.4 | 8.0 | 8.1 | 8.2 | 8.3 | 8.4 | | -- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | | apc | X | X | | | | | | | | | | | | | -| apcu | | | X | X | X | X | X | X | X | | | | | X | +| apcu | | | X | X | X | X | X | X | X | X | X | X | X | X | | bcmath | X | X | X | X | X | X | X | X | X | X | X | X | X | X | | bz2 | X | X | X | X | X | X | X | X | X | X | X | X | X | X | | calendar | X | X | X | X | X | X | X | X | X | X | X | X | X | X | @@ -25,7 +25,7 @@ description: Learn what extensions are installed in the Lando PHP plugin | gettext | X | X | X | X | X | X | X | X | X | X | X | X | X | X | | hash | X | X | X | X | X | X | X | X | X | X | X | X | X | X | | iconv | X | X | X | X | X | X | X | X | X | X | X | X | X | X | -| imagick | X | X | X | X | X | X | X | X | X | X | X | X | * | | +| imagick | X | X | X | X | X | X | X | X | X | X | X | X | X | X | | imap | X | X | X | X | X | X | X | X | X | X | X | X | X | X | | intl | X | X | X | X | X | X | X | X | X | X | X | X | X | X | | json | X | X | X | X | X | X | X | X | X | X | X | X | X | X | @@ -33,10 +33,10 @@ description: Learn what extensions are installed in the Lando PHP plugin | libxml | X | X | X | X | X | X | X | X | X | X | X | X | X | X | | mbstring | X | X | X | X | X | X | X | X | X | X | X | X | X | X | | mcrypt | X | X | X | X | X | X | X | X | X | X | X | X | X | X | -| memcached | X | X | X | X | X | X | X | X | X | | | | | X | +| memcached | X | X | X | X | X | X | X | X | X | X | X | X | X | X | | mysqli | X | X | X | X | X | X | X | X | X | X | X | X | X | X | | mysqlnd | X | X | X | X | X | X | X | X | X | X | X | X | X | X | -| OAuth | X | X | X | X | X | X | X | X | X | | | | | X | +| OAuth | X | X | X | X | X | X | X | X | X | X | X | X | X | X | | OPcache | | | X | X | X | X | X | X | X | X | X | X | X | X | | openssl | X | X | X | X | X | X | X | X | X | X | X | X | X | X | | pcntl | X | X | X | X | X | X | X | X | X | X | X | X | X | X | @@ -58,18 +58,15 @@ description: Learn what extensions are installed in the Lando PHP plugin | sqlite3 | X | X | X | X | X | X | X | X | X | X | X | X | X | X | | standard | X | X | X | X | X | X | X | X | X | X | X | X | X | X | | tokenizer | X | X | X | X | X | X | X | X | X | X | X | X | X | X | -| xdebug | | | | | | | | | | | | | | | +| xdebug | * | * | * | * | * | * | * | * | * | * | * | * | * | * | +| xhprof | | | | | | | | | X | X | X | X | X | X | | xml | X | X | X | X | X | X | X | X | X | X | X | X | X | X | | xmlreader | X | X | X | X | X | X | X | X | X | X | X | X | X | X | | xmlwriter | X | X | X | X | X | X | X | X | X | X | X | X | X | X | | zip | X | X | X | X | X | X | X | X | X | X | X | X | X | X | | zlib | X | X | X | X | X | X | X | X | X | X | X | X | X | X | -Note that `xdebug` is off by default but you can enable it by setting your `php` services config to `xdebug: true`. Read more about this in "Configuration" above. - -::: warning -Note that imagick is temporarily unavailable on PHP 8.3/8.4, due to a pending issue waiting to get released on the imagick project: https://github.com/Imagick/imagick/pull/641 -::: +__*__ Note that `xdebug` is off by default but you can enable it by setting your `php` services config to `xdebug: true`. Read more about this in "Configuration" above. ## Adding or removing extensions diff --git a/images/7.4-apache/Dockerfile b/images/7.4-apache/Dockerfile index 27ab36ea..5f7b33a6 100644 --- a/images/7.4-apache/Dockerfile +++ b/images/7.4-apache/Dockerfile @@ -2,30 +2,22 @@ FROM php:7.4-apache-bullseye -# Install dependencies we need +ADD --chmod=0755 https://github.com/mlocati/docker-php-extension-installer/releases/latest/download/install-php-extensions /usr/local/bin/ + +RUN \ + # MariaDB client compatibility (https://github.com/lando/php/issues/120) + mkdir -p /etc/apt/keyrings \ + && curl -o /etc/apt/keyrings/mariadb-keyring.pgp 'https://mariadb.org/mariadb_release_signing_key.pgp' \ + && echo "deb [signed-by=/etc/apt/keyrings/mariadb-keyring.pgp] https://mirror.mariadb.org/repo/10.5/debian bullseye main" > /etc/apt/sources.list.d/mariadb.list + RUN mkdir -p /usr/share/man/man1 /usr/share/man/man7 \ && apt -y update && apt-get install -y \ - bzip2 \ default-mysql-client \ exiftool \ git-core \ gnupg2 \ - imagemagick \ - libbz2-dev \ - libc-client-dev \ - libicu-dev \ - libjpeg62-turbo-dev \ - libkrb5-dev \ - libldap2-dev \ - libmagickwand-dev \ - libmemcached-dev \ - libpng-dev \ - libpq-dev \ - libssl-dev \ - libwebp-dev \ - libxml2-dev \ - libzip-dev \ libonig-dev \ + mariadb-client \ openssl \ postgresql-client-13 \ pv \ @@ -34,45 +26,41 @@ RUN mkdir -p /usr/share/man/man1 /usr/share/man/man7 \ unzip \ wget \ xfonts-75dpi \ - xfonts-base \ - zlib1g-dev \ - && pecl install apcu \ - && pecl install imagick \ - && pecl install memcached \ - && pecl install oauth-2.0.4 \ - && pecl install redis-5.1.1 \ - && pecl install xdebug-3.1.6 \ - && docker-php-ext-configure ldap --with-libdir=lib/$(uname -m)-linux-gnu/ \ - && docker-php-ext-enable apcu \ - && docker-php-ext-enable imagick \ - && docker-php-ext-enable memcached \ - && docker-php-ext-enable oauth \ - && docker-php-ext-enable redis \ - && docker-php-ext-install bcmath \ - && docker-php-ext-install bz2 \ - && docker-php-ext-install calendar \ - && docker-php-ext-install exif \ - && docker-php-ext-install gettext \ - && docker-php-ext-install intl \ - && docker-php-ext-install ldap \ - && docker-php-ext-install mbstring \ - && docker-php-ext-install mysqli \ - && docker-php-ext-install opcache \ - && docker-php-ext-install pcntl \ - && docker-php-ext-install pdo \ - && docker-php-ext-install pdo_mysql \ - && docker-php-ext-install pdo_pgsql \ - && docker-php-ext-install soap \ - && docker-php-ext-install zip \ - && php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" \ - && php composer-setup.php --install-dir=/usr/local/bin --filename=composer --version=2.2.12 \ - && php -r "unlink('composer-setup.php');" \ - && chsh -s /bin/bash www-data && mkdir -p /var/www/.composer && chown -R www-data:www-data /var/www \ + xfonts-base + +RUN \ + install-php-extensions @fix_letsencrypt \ + && install-php-extensions apcu \ + && install-php-extensions bcmath \ + && install-php-extensions bz2 \ + && install-php-extensions calendar \ + && install-php-extensions exif \ + && install-php-extensions gd \ + && install-php-extensions gettext \ + && install-php-extensions imagick \ + && install-php-extensions imap \ + && install-php-extensions intl \ + && install-php-extensions ldap \ + && install-php-extensions mbstring \ + && install-php-extensions memcached \ + && install-php-extensions mysqli \ + && install-php-extensions oauth \ + && install-php-extensions opcache \ + && install-php-extensions pcntl \ + && install-php-extensions pdo \ + && install-php-extensions pdo_mysql \ + && install-php-extensions pdo_pgsql \ + && install-php-extensions redis \ + && install-php-extensions soap \ + && install-php-extensions xdebug \ + && install-php-extensions xhprof \ + && install-php-extensions zip + +RUN install-php-extensions @composer-2.2.12 + +RUN \ + chsh -s /bin/bash www-data && mkdir -p /var/www/.composer && chown -R www-data:www-data /var/www \ && apt-get -y clean \ && apt-get -y autoclean \ && apt-get -y autoremove \ - && rm -rf /var/lib/apt/lists/* && rm -rf && rm -rf /var/lib/cache/* && rm -rf /var/lib/log/* && rm -rf /tmp/* \ - && PHP_OPENSSL=yes docker-php-ext-configure imap --with-kerberos --with-imap-ssl \ - && docker-php-ext-install imap \ - && docker-php-ext-configure gd --enable-gd --with-freetype --with-jpeg --with-webp \ - && docker-php-ext-install gd + && rm -rf /var/lib/apt/lists/* && rm -rf && rm -rf /var/lib/cache/* && rm -rf /var/lib/log/* && rm -rf /tmp/* diff --git a/images/7.4-fpm/Dockerfile b/images/7.4-fpm/Dockerfile index 7b8d84d8..6b1f7821 100644 --- a/images/7.4-fpm/Dockerfile +++ b/images/7.4-fpm/Dockerfile @@ -2,77 +2,65 @@ FROM php:7.4-fpm-bullseye -# Install dependencies we need +ADD --chmod=0755 https://github.com/mlocati/docker-php-extension-installer/releases/latest/download/install-php-extensions /usr/local/bin/ + +RUN \ + # MariaDB client compatibility (https://github.com/lando/php/issues/120) + mkdir -p /etc/apt/keyrings \ + && curl -o /etc/apt/keyrings/mariadb-keyring.pgp 'https://mariadb.org/mariadb_release_signing_key.pgp' \ + && echo "deb [signed-by=/etc/apt/keyrings/mariadb-keyring.pgp] https://mirror.mariadb.org/repo/10.5/debian bullseye main" > /etc/apt/sources.list.d/mariadb.list + RUN mkdir -p /usr/share/man/man1 /usr/share/man/man7 \ && apt -y update && apt-get install -y \ - bzip2 \ - default-mysql-client \ - exiftool \ - git-core \ - gnupg2 \ - imagemagick \ - libbz2-dev \ - libc-client-dev \ - libicu-dev \ - libjpeg62-turbo-dev \ - libkrb5-dev \ - libldap2-dev \ - libmagickwand-dev \ - libmemcached-dev \ - libpng-dev \ - libpq-dev \ - libssl-dev \ - libwebp-dev \ - libxml2-dev \ - libzip-dev \ - libonig-dev \ - openssl \ - postgresql-client-13 \ - pv \ - rsync \ - ssh \ - unzip \ - wget \ - xfonts-75dpi \ - xfonts-base \ - zlib1g-dev \ - && pecl install apcu \ - && pecl install imagick \ - && pecl install memcached \ - && pecl install oauth-2.0.4 \ - && pecl install redis-5.1.1 \ - && pecl install xdebug-3.1.6 \ - && docker-php-ext-configure ldap --with-libdir=lib/$(uname -m)-linux-gnu/ \ - && docker-php-ext-enable apcu \ - && docker-php-ext-enable imagick \ - && docker-php-ext-enable memcached \ - && docker-php-ext-enable oauth \ - && docker-php-ext-enable redis \ - && docker-php-ext-install bcmath \ - && docker-php-ext-install bz2 \ - && docker-php-ext-install calendar \ - && docker-php-ext-install exif \ - && docker-php-ext-install gettext \ - && docker-php-ext-install intl \ - && docker-php-ext-install ldap \ - && docker-php-ext-install mbstring \ - && docker-php-ext-install mysqli \ - && docker-php-ext-install opcache \ - && docker-php-ext-install pcntl \ - && docker-php-ext-install pdo \ - && docker-php-ext-install pdo_mysql \ - && docker-php-ext-install pdo_pgsql \ - && docker-php-ext-install soap \ - && docker-php-ext-install zip \ - && php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" \ - && php composer-setup.php --install-dir=/usr/local/bin --filename=composer --version=2.2.12 \ - && php -r "unlink('composer-setup.php');" \ - && chsh -s /bin/bash www-data && mkdir -p /var/www/.composer && chown -R www-data:www-data /var/www \ + default-mysql-client \ + exiftool \ + git-core \ + gnupg2 \ + libonig-dev \ + mariadb-client \ + openssl \ + postgresql-client-13 \ + pv \ + rsync \ + ssh \ + unzip \ + wget \ + xfonts-75dpi \ + xfonts-base + +RUN \ + install-php-extensions @fix_letsencrypt \ + && install-php-extensions apcu \ + && install-php-extensions bcmath \ + && install-php-extensions bz2 \ + && install-php-extensions calendar \ + && install-php-extensions exif \ + && install-php-extensions gd \ + && install-php-extensions gettext \ + && install-php-extensions imagick \ + && install-php-extensions imap \ + && install-php-extensions intl \ + && install-php-extensions ldap \ + && install-php-extensions mbstring \ + && install-php-extensions memcached \ + && install-php-extensions mysqli \ + && install-php-extensions oauth \ + && install-php-extensions opcache \ + && install-php-extensions pcntl \ + && install-php-extensions pdo \ + && install-php-extensions pdo_mysql \ + && install-php-extensions pdo_pgsql \ + && install-php-extensions redis \ + && install-php-extensions soap \ + && install-php-extensions xdebug \ + && install-php-extensions xhprof \ + && install-php-extensions zip + +RUN install-php-extensions @composer-2.2.12 + +RUN \ + chsh -s /bin/bash www-data && mkdir -p /var/www/.composer && chown -R www-data:www-data /var/www \ && apt-get -y clean \ && apt-get -y autoclean \ && apt-get -y autoremove \ - && rm -rf /var/lib/apt/lists/* && rm -rf && rm -rf /var/lib/cache/* && rm -rf /var/lib/log/* && rm -rf /tmp/* \ - && PHP_OPENSSL=yes docker-php-ext-configure imap --with-kerberos --with-imap-ssl \ - && docker-php-ext-install imap \ - && docker-php-ext-configure gd --enable-gd --with-freetype --with-jpeg --with-webp \ - && docker-php-ext-install gd + && rm -rf /var/lib/apt/lists/* && rm -rf && rm -rf /var/lib/cache/* && rm -rf /var/lib/log/* && rm -rf /tmp/* diff --git a/images/8.0-apache/Dockerfile b/images/8.0-apache/Dockerfile index c708282e..9398b5d4 100644 --- a/images/8.0-apache/Dockerfile +++ b/images/8.0-apache/Dockerfile @@ -2,31 +2,22 @@ FROM php:8.0-apache-bullseye -# Install dependencies we need +ADD --chmod=0755 https://github.com/mlocati/docker-php-extension-installer/releases/latest/download/install-php-extensions /usr/local/bin/ + +RUN \ + # MariaDB client compatibility (https://github.com/lando/php/issues/120) + mkdir -p /etc/apt/keyrings \ + && curl -o /etc/apt/keyrings/mariadb-keyring.pgp 'https://mariadb.org/mariadb_release_signing_key.pgp' \ + && echo "deb [signed-by=/etc/apt/keyrings/mariadb-keyring.pgp] https://mirror.mariadb.org/repo/10.5/debian bullseye main" > /etc/apt/sources.list.d/mariadb.list + RUN mkdir -p /usr/share/man/man1 /usr/share/man/man7 \ && apt -y update && apt-get install -y \ - bzip2 \ default-mysql-client \ exiftool \ git-core \ gnupg2 \ - imagemagick \ - libbz2-dev \ - libc-client-dev \ - libfreetype6-dev \ - libicu-dev \ - libjpeg62-turbo-dev \ - libkrb5-dev \ - libldap2-dev \ - libmagickwand-dev \ - libmemcached-dev \ - libpng-dev \ - libpq-dev \ - libssl-dev \ - libwebp-dev \ - libxml2-dev \ - libzip-dev \ libonig-dev \ + mariadb-client \ openssl \ postgresql-client-13 \ pv \ @@ -35,45 +26,41 @@ RUN mkdir -p /usr/share/man/man1 /usr/share/man/man7 \ unzip \ wget \ xfonts-75dpi \ - xfonts-base \ - zlib1g-dev \ - && pecl install apcu \ - && pecl install imagick \ - && pecl install memcached \ - && pecl install oauth \ - && pecl install redis-5.3.2 \ - && pecl install xdebug \ - && docker-php-ext-configure ldap --with-libdir=lib/$(uname -m)-linux-gnu/ \ - && docker-php-ext-enable apcu \ - && docker-php-ext-enable imagick \ - && docker-php-ext-enable memcached \ - && docker-php-ext-enable oauth \ - && docker-php-ext-enable redis \ - && docker-php-ext-install bcmath \ - && docker-php-ext-install bz2 \ - && docker-php-ext-install calendar \ - && docker-php-ext-install exif \ - && docker-php-ext-install gettext \ - && docker-php-ext-install intl \ - && docker-php-ext-install ldap \ - && docker-php-ext-install mbstring \ - && docker-php-ext-install mysqli \ - && docker-php-ext-install opcache \ - && docker-php-ext-install pcntl \ - && docker-php-ext-install pdo \ - && docker-php-ext-install pdo_mysql \ - && docker-php-ext-install pdo_pgsql \ - && docker-php-ext-install soap \ - && docker-php-ext-install zip \ - && php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" \ - && php composer-setup.php --install-dir=/usr/local/bin --filename=composer --version=2.2.12 \ - && php -r "unlink('composer-setup.php');" \ - && chsh -s /bin/bash www-data && mkdir -p /var/www/.composer && chown -R www-data:www-data /var/www \ + xfonts-base + +RUN \ + install-php-extensions @fix_letsencrypt \ + && install-php-extensions apcu \ + && install-php-extensions bcmath \ + && install-php-extensions bz2 \ + && install-php-extensions calendar \ + && install-php-extensions exif \ + && install-php-extensions gd \ + && install-php-extensions gettext \ + && install-php-extensions imagick \ + && install-php-extensions imap \ + && install-php-extensions intl \ + && install-php-extensions ldap \ + && install-php-extensions mbstring \ + && install-php-extensions memcached \ + && install-php-extensions mysqli \ + && install-php-extensions oauth \ + && install-php-extensions opcache \ + && install-php-extensions pcntl \ + && install-php-extensions pdo \ + && install-php-extensions pdo_mysql \ + && install-php-extensions pdo_pgsql \ + && install-php-extensions redis \ + && install-php-extensions soap \ + && install-php-extensions xdebug \ + && install-php-extensions xhprof \ + && install-php-extensions zip + +RUN install-php-extensions @composer-2 + +RUN \ + chsh -s /bin/bash www-data && mkdir -p /var/www/.composer && chown -R www-data:www-data /var/www \ && apt-get -y clean \ && apt-get -y autoclean \ && apt-get -y autoremove \ - && rm -rf /var/lib/apt/lists/* && rm -rf && rm -rf /var/lib/cache/* && rm -rf /var/lib/log/* && rm -rf /tmp/* \ - && PHP_OPENSSL=yes docker-php-ext-configure imap --with-kerberos --with-imap-ssl \ - && docker-php-ext-install imap \ - && docker-php-ext-configure gd --enable-gd --with-jpeg --with-webp --with-freetype \ - && docker-php-ext-install gd + && rm -rf /var/lib/apt/lists/* && rm -rf && rm -rf /var/lib/cache/* && rm -rf /var/lib/log/* && rm -rf /tmp/* diff --git a/images/8.0-fpm/Dockerfile b/images/8.0-fpm/Dockerfile index 47839cf3..7979de37 100644 --- a/images/8.0-fpm/Dockerfile +++ b/images/8.0-fpm/Dockerfile @@ -2,31 +2,22 @@ FROM php:8.0-fpm-bullseye -# Install dependencies we need +ADD --chmod=0755 https://github.com/mlocati/docker-php-extension-installer/releases/latest/download/install-php-extensions /usr/local/bin/ + +RUN \ + # MariaDB client compatibility (https://github.com/lando/php/issues/120) + mkdir -p /etc/apt/keyrings \ + && curl -o /etc/apt/keyrings/mariadb-keyring.pgp 'https://mariadb.org/mariadb_release_signing_key.pgp' \ + && echo "deb [signed-by=/etc/apt/keyrings/mariadb-keyring.pgp] https://mirror.mariadb.org/repo/10.5/debian bullseye main" > /etc/apt/sources.list.d/mariadb.list + RUN mkdir -p /usr/share/man/man1 /usr/share/man/man7 \ && apt -y update && apt-get install -y \ - bzip2 \ default-mysql-client \ exiftool \ git-core \ gnupg2 \ - imagemagick \ - libbz2-dev \ - libc-client-dev \ - libfreetype6-dev \ - libicu-dev \ - libjpeg62-turbo-dev \ - libkrb5-dev \ - libldap2-dev \ - libmagickwand-dev \ - libmemcached-dev \ - libpng-dev \ - libpq-dev \ - libssl-dev \ - libwebp-dev \ - libxml2-dev \ - libzip-dev \ libonig-dev \ + mariadb-client \ openssl \ postgresql-client-13 \ pv \ @@ -35,45 +26,41 @@ RUN mkdir -p /usr/share/man/man1 /usr/share/man/man7 \ unzip \ wget \ xfonts-75dpi \ - xfonts-base \ - zlib1g-dev \ - && pecl install apcu \ - && pecl install imagick \ - && pecl install memcached \ - && pecl install oauth \ - && pecl install redis-5.3.2 \ - && pecl install xdebug \ - && docker-php-ext-configure ldap --with-libdir=lib/$(uname -m)-linux-gnu/ \ - && docker-php-ext-enable apcu \ - && docker-php-ext-enable imagick \ - && docker-php-ext-enable memcached \ - && docker-php-ext-enable oauth \ - && docker-php-ext-enable redis \ - && docker-php-ext-install bcmath \ - && docker-php-ext-install bz2 \ - && docker-php-ext-install calendar \ - && docker-php-ext-install exif \ - && docker-php-ext-install gettext \ - && docker-php-ext-install intl \ - && docker-php-ext-install ldap \ - && docker-php-ext-install mbstring \ - && docker-php-ext-install mysqli \ - && docker-php-ext-install opcache \ - && docker-php-ext-install pcntl \ - && docker-php-ext-install pdo \ - && docker-php-ext-install pdo_mysql \ - && docker-php-ext-install pdo_pgsql \ - && docker-php-ext-install soap \ - && docker-php-ext-install zip \ - && php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" \ - && php composer-setup.php --install-dir=/usr/local/bin --filename=composer --version=2.2.12 \ - && php -r "unlink('composer-setup.php');" \ - && chsh -s /bin/bash www-data && mkdir -p /var/www/.composer && chown -R www-data:www-data /var/www \ + xfonts-base + +RUN \ + install-php-extensions @fix_letsencrypt \ + && install-php-extensions apcu \ + && install-php-extensions bcmath \ + && install-php-extensions bz2 \ + && install-php-extensions calendar \ + && install-php-extensions exif \ + && install-php-extensions gd \ + && install-php-extensions gettext \ + && install-php-extensions imagick \ + && install-php-extensions imap \ + && install-php-extensions intl \ + && install-php-extensions ldap \ + && install-php-extensions mbstring \ + && install-php-extensions memcached \ + && install-php-extensions mysqli \ + && install-php-extensions oauth \ + && install-php-extensions opcache \ + && install-php-extensions pcntl \ + && install-php-extensions pdo \ + && install-php-extensions pdo_mysql \ + && install-php-extensions pdo_pgsql \ + && install-php-extensions redis \ + && install-php-extensions soap \ + && install-php-extensions xdebug \ + && install-php-extensions xhprof \ + && install-php-extensions zip + +RUN install-php-extensions @composer-2 + +RUN \ + chsh -s /bin/bash www-data && mkdir -p /var/www/.composer && chown -R www-data:www-data /var/www \ && apt-get -y clean \ && apt-get -y autoclean \ && apt-get -y autoremove \ - && rm -rf /var/lib/apt/lists/* && rm -rf && rm -rf /var/lib/cache/* && rm -rf /var/lib/log/* && rm -rf /tmp/* \ - && PHP_OPENSSL=yes docker-php-ext-configure imap --with-kerberos --with-imap-ssl \ - && docker-php-ext-install imap \ - && docker-php-ext-configure gd --enable-gd --with-jpeg --with-webp --with-freetype \ - && docker-php-ext-install gd + && rm -rf /var/lib/apt/lists/* && rm -rf && rm -rf /var/lib/cache/* && rm -rf /var/lib/log/* && rm -rf /tmp/* diff --git a/images/8.1-apache/Dockerfile b/images/8.1-apache/Dockerfile index 17d23316..f65b5bbe 100644 --- a/images/8.1-apache/Dockerfile +++ b/images/8.1-apache/Dockerfile @@ -4,6 +4,12 @@ FROM php:8.1-apache-bookworm ADD --chmod=0755 https://github.com/mlocati/docker-php-extension-installer/releases/latest/download/install-php-extensions /usr/local/bin/ +RUN \ + # MariaDB client compatibility (https://github.com/lando/php/issues/120) + mkdir -p /etc/apt/keyrings \ + && curl -o /etc/apt/keyrings/mariadb-keyring.pgp 'https://mariadb.org/mariadb_release_signing_key.pgp' \ + && echo "deb [signed-by=/etc/apt/keyrings/mariadb-keyring.pgp] https://mirror.mariadb.org/repo/10.11/debian bookworm main" > /etc/apt/sources.list.d/mariadb.list + RUN \ mkdir -p /usr/share/man/man1 /usr/share/man/man7 \ && apt -y update && apt-get install -y \ @@ -11,6 +17,7 @@ RUN \ exiftool \ git-core \ gnupg2 \ + mariadb-client \ openssl \ postgresql-client-15 \ pv \ @@ -44,6 +51,7 @@ RUN \ && install-php-extensions redis \ && install-php-extensions soap \ && install-php-extensions xdebug \ + && install-php-extensions xhprof \ && install-php-extensions zip RUN install-php-extensions @composer-2 diff --git a/images/8.1-fpm/Dockerfile b/images/8.1-fpm/Dockerfile index 520e882d..4600e43f 100644 --- a/images/8.1-fpm/Dockerfile +++ b/images/8.1-fpm/Dockerfile @@ -4,6 +4,12 @@ FROM php:8.1-fpm-bookworm ADD --chmod=0755 https://github.com/mlocati/docker-php-extension-installer/releases/latest/download/install-php-extensions /usr/local/bin/ +RUN \ + # MariaDB client compatibility (https://github.com/lando/php/issues/120) + mkdir -p /etc/apt/keyrings \ + && curl -o /etc/apt/keyrings/mariadb-keyring.pgp 'https://mariadb.org/mariadb_release_signing_key.pgp' \ + && echo "deb [signed-by=/etc/apt/keyrings/mariadb-keyring.pgp] https://mirror.mariadb.org/repo/10.11/debian bookworm main" > /etc/apt/sources.list.d/mariadb.list + RUN \ mkdir -p /usr/share/man/man1 /usr/share/man/man7 \ && apt -y update && apt-get install -y \ @@ -11,6 +17,7 @@ RUN \ exiftool \ git-core \ gnupg2 \ + mariadb-client \ openssl \ postgresql-client-15 \ pv \ @@ -44,6 +51,7 @@ RUN \ && install-php-extensions redis \ && install-php-extensions soap \ && install-php-extensions xdebug \ + && install-php-extensions xhprof \ && install-php-extensions zip RUN install-php-extensions @composer-2 diff --git a/images/8.2-apache/Dockerfile b/images/8.2-apache/Dockerfile index 34443096..d2cbc060 100644 --- a/images/8.2-apache/Dockerfile +++ b/images/8.2-apache/Dockerfile @@ -4,6 +4,12 @@ FROM php:8.2-apache-bookworm ADD --chmod=0755 https://github.com/mlocati/docker-php-extension-installer/releases/latest/download/install-php-extensions /usr/local/bin/ +RUN \ + # MariaDB client compatibility (https://github.com/lando/php/issues/120) + mkdir -p /etc/apt/keyrings \ + && curl -o /etc/apt/keyrings/mariadb-keyring.pgp 'https://mariadb.org/mariadb_release_signing_key.pgp' \ + && echo "deb [signed-by=/etc/apt/keyrings/mariadb-keyring.pgp] https://mirror.mariadb.org/repo/10.11/debian bookworm main" > /etc/apt/sources.list.d/mariadb.list + RUN \ mkdir -p /usr/share/man/man1 /usr/share/man/man7 \ && apt -y update && apt-get install -y \ @@ -11,6 +17,7 @@ RUN \ exiftool \ git-core \ gnupg2 \ + mariadb-client \ openssl \ postgresql-client-15 \ pv \ @@ -44,6 +51,7 @@ RUN \ && install-php-extensions redis \ && install-php-extensions soap \ && install-php-extensions xdebug \ + && install-php-extensions xhprof \ && install-php-extensions zip RUN install-php-extensions @composer-2 diff --git a/images/8.2-fpm/Dockerfile b/images/8.2-fpm/Dockerfile index 1b082e2d..faba7699 100644 --- a/images/8.2-fpm/Dockerfile +++ b/images/8.2-fpm/Dockerfile @@ -4,6 +4,12 @@ FROM php:8.2-fpm-bookworm ADD --chmod=0755 https://github.com/mlocati/docker-php-extension-installer/releases/latest/download/install-php-extensions /usr/local/bin/ +RUN \ + # MariaDB client compatibility (https://github.com/lando/php/issues/120) + mkdir -p /etc/apt/keyrings \ + && curl -o /etc/apt/keyrings/mariadb-keyring.pgp 'https://mariadb.org/mariadb_release_signing_key.pgp' \ + && echo "deb [signed-by=/etc/apt/keyrings/mariadb-keyring.pgp] https://mirror.mariadb.org/repo/10.11/debian bookworm main" > /etc/apt/sources.list.d/mariadb.list + RUN \ mkdir -p /usr/share/man/man1 /usr/share/man/man7 \ && apt -y update && apt-get install -y \ @@ -11,6 +17,7 @@ RUN \ exiftool \ git-core \ gnupg2 \ + mariadb-client \ openssl \ postgresql-client-15 \ pv \ @@ -44,6 +51,7 @@ RUN \ && install-php-extensions redis \ && install-php-extensions soap \ && install-php-extensions xdebug \ + && install-php-extensions xhprof \ && install-php-extensions zip RUN install-php-extensions @composer-2 diff --git a/images/8.3-apache/Dockerfile b/images/8.3-apache/Dockerfile index 2b932065..1394be17 100644 --- a/images/8.3-apache/Dockerfile +++ b/images/8.3-apache/Dockerfile @@ -2,8 +2,16 @@ FROM php:8.3-apache-bookworm +ARG TARGETARCH + ADD --chmod=0755 https://github.com/mlocati/docker-php-extension-installer/releases/latest/download/install-php-extensions /usr/local/bin/ +RUN \ + # MariaDB client compatibility (https://github.com/lando/php/issues/120) + mkdir -p /etc/apt/keyrings \ + && curl -o /etc/apt/keyrings/mariadb-keyring.pgp 'https://mariadb.org/mariadb_release_signing_key.pgp' \ + && echo "deb [signed-by=/etc/apt/keyrings/mariadb-keyring.pgp] https://mirror.mariadb.org/repo/10.11/debian bookworm main" > /etc/apt/sources.list.d/mariadb.list + RUN \ mkdir -p /usr/share/man/man1 /usr/share/man/man7 \ && apt -y update && apt-get install -y \ @@ -44,10 +52,18 @@ RUN \ && install-php-extensions redis \ && install-php-extensions soap \ && install-php-extensions xdebug \ + && install-php-extensions xhprof \ && install-php-extensions zip RUN install-php-extensions @composer-2 +# Drupal 11 requires sqlite3 3.45+ +ARG SQLITE_VERSION=3.45.1 +RUN \ + curl -Lo /tmp/sqlite3.deb "https://snapshot.debian.org/archive/debian/20240506T211830Z/pool/main/s/sqlite3/sqlite3_${SQLITE_VERSION}-1_${TARGETARCH}.deb" \ + && curl -Lo /tmp/libsqlite3-0.deb "https://snapshot.debian.org/archive/debian/20240506T211830Z/pool/main/s/sqlite3/libsqlite3-0_${SQLITE_VERSION}-1_${TARGETARCH}.deb" \ + && dpkg -i /tmp/sqlite3.deb /tmp/libsqlite3-0.deb + RUN \ chsh -s /bin/bash www-data && mkdir -p /var/www/.composer && chown -R www-data:www-data /var/www \ && apt-get -y clean \ diff --git a/images/8.3-fpm/Dockerfile b/images/8.3-fpm/Dockerfile index daab20bd..11f11fcb 100644 --- a/images/8.3-fpm/Dockerfile +++ b/images/8.3-fpm/Dockerfile @@ -2,8 +2,16 @@ FROM php:8.3-fpm-bookworm +ARG TARGETARCH + ADD --chmod=0755 https://github.com/mlocati/docker-php-extension-installer/releases/latest/download/install-php-extensions /usr/local/bin/ +RUN \ + # MariaDB client compatibility (https://github.com/lando/php/issues/120) + mkdir -p /etc/apt/keyrings \ + && curl -o /etc/apt/keyrings/mariadb-keyring.pgp 'https://mariadb.org/mariadb_release_signing_key.pgp' \ + && echo "deb [signed-by=/etc/apt/keyrings/mariadb-keyring.pgp] https://mirror.mariadb.org/repo/10.11/debian bookworm main" > /etc/apt/sources.list.d/mariadb.list + RUN \ mkdir -p /usr/share/man/man1 /usr/share/man/man7 \ && apt -y update && apt-get install -y \ @@ -11,6 +19,7 @@ RUN \ exiftool \ git-core \ gnupg2 \ + mariadb-client \ openssl \ postgresql-client-15 \ pv \ @@ -44,10 +53,18 @@ RUN \ && install-php-extensions redis \ && install-php-extensions soap \ && install-php-extensions xdebug \ + && install-php-extensions xhprof \ && install-php-extensions zip RUN install-php-extensions @composer-2 +# Drupal 11 requires sqlite3 3.45+ +ARG SQLITE_VERSION=3.45.1 +RUN \ + curl -Lo /tmp/sqlite3.deb "https://snapshot.debian.org/archive/debian/20240506T211830Z/pool/main/s/sqlite3/sqlite3_${SQLITE_VERSION}-1_${TARGETARCH}.deb" \ + && curl -Lo /tmp/libsqlite3-0.deb "https://snapshot.debian.org/archive/debian/20240506T211830Z/pool/main/s/sqlite3/libsqlite3-0_${SQLITE_VERSION}-1_${TARGETARCH}.deb" \ + && dpkg -i /tmp/sqlite3.deb /tmp/libsqlite3-0.deb + RUN \ chsh -s /bin/bash www-data && mkdir -p /var/www/.composer && chown -R www-data:www-data /var/www \ && apt-get -y clean \ diff --git a/images/8.4-apache/Dockerfile b/images/8.4-apache/Dockerfile index ca90794c..4d0000d0 100644 --- a/images/8.4-apache/Dockerfile +++ b/images/8.4-apache/Dockerfile @@ -2,8 +2,16 @@ FROM php:8.4-apache-bookworm +ARG TARGETARCH + ADD --chmod=0755 https://github.com/mlocati/docker-php-extension-installer/releases/latest/download/install-php-extensions /usr/local/bin/ +RUN \ + # MariaDB client compatibility (https://github.com/lando/php/issues/120) + mkdir -p /etc/apt/keyrings \ + && curl -o /etc/apt/keyrings/mariadb-keyring.pgp 'https://mariadb.org/mariadb_release_signing_key.pgp' \ + && echo "deb [signed-by=/etc/apt/keyrings/mariadb-keyring.pgp] https://mirror.mariadb.org/repo/11.4/debian bookworm main" > /etc/apt/sources.list.d/mariadb.list + RUN \ mkdir -p /usr/share/man/man1 /usr/share/man/man7 \ && apt -y update && apt-get install -y \ @@ -11,6 +19,8 @@ RUN \ exiftool \ git-core \ gnupg2 \ + mariadb-client \ + mariadb-client-compat \ openssl \ postgresql-client-15 \ pv \ @@ -28,6 +38,7 @@ RUN \ && install-php-extensions exif \ && install-php-extensions gd \ && install-php-extensions gettext \ + && install-php-extensions imagick \ && install-php-extensions imap \ && install-php-extensions intl \ && install-php-extensions ldap \ @@ -42,11 +53,19 @@ RUN \ && install-php-extensions pdo_pgsql \ && install-php-extensions redis \ && install-php-extensions soap \ - # && install-php-extensions xdebug \ + && install-php-extensions xdebug \ + && install-php-extensions xhprof \ && install-php-extensions zip RUN install-php-extensions @composer-2 +# Drupal 11 requires sqlite3 3.45+ +ARG SQLITE_VERSION=3.45.1 +RUN \ + curl -Lo /tmp/sqlite3.deb "https://snapshot.debian.org/archive/debian/20240506T211830Z/pool/main/s/sqlite3/sqlite3_${SQLITE_VERSION}-1_${TARGETARCH}.deb" \ + && curl -Lo /tmp/libsqlite3-0.deb "https://snapshot.debian.org/archive/debian/20240506T211830Z/pool/main/s/sqlite3/libsqlite3-0_${SQLITE_VERSION}-1_${TARGETARCH}.deb" \ + && dpkg -i /tmp/sqlite3.deb /tmp/libsqlite3-0.deb + RUN \ chsh -s /bin/bash www-data && mkdir -p /var/www/.composer && chown -R www-data:www-data /var/www \ && apt-get -y clean \ diff --git a/images/8.4-fpm/Dockerfile b/images/8.4-fpm/Dockerfile index b6df21d9..39dfa2df 100644 --- a/images/8.4-fpm/Dockerfile +++ b/images/8.4-fpm/Dockerfile @@ -2,8 +2,16 @@ FROM php:8.4-fpm-bookworm +ARG TARGETARCH + ADD --chmod=0755 https://github.com/mlocati/docker-php-extension-installer/releases/latest/download/install-php-extensions /usr/local/bin/ +RUN \ + # MariaDB client compatibility (https://github.com/lando/php/issues/120) + mkdir -p /etc/apt/keyrings \ + && curl -o /etc/apt/keyrings/mariadb-keyring.pgp 'https://mariadb.org/mariadb_release_signing_key.pgp' \ + && echo "deb [signed-by=/etc/apt/keyrings/mariadb-keyring.pgp] https://mirror.mariadb.org/repo/11.4/debian bookworm main" > /etc/apt/sources.list.d/mariadb.list + RUN \ mkdir -p /usr/share/man/man1 /usr/share/man/man7 \ && apt -y update && apt-get install -y \ @@ -12,6 +20,8 @@ RUN \ exiftool \ git-core \ gnupg2 \ + mariadb-client \ + mariadb-client-compat \ openssl \ postgresql-client-15 \ pv \ @@ -29,6 +39,7 @@ RUN \ && install-php-extensions exif \ && install-php-extensions gd \ && install-php-extensions gettext \ + && install-php-extensions imagick \ && install-php-extensions imap \ && install-php-extensions intl \ && install-php-extensions ldap \ @@ -43,11 +54,19 @@ RUN \ && install-php-extensions pdo_pgsql \ && install-php-extensions redis \ && install-php-extensions soap \ - # && install-php-extensions xdebug \ + && install-php-extensions xdebug \ + && install-php-extensions xhprof \ && install-php-extensions zip RUN install-php-extensions @composer-2 +# Drupal 11 requires sqlite3 3.45+ +ARG SQLITE_VERSION=3.45.1 +RUN \ + curl -Lo /tmp/sqlite3.deb "https://snapshot.debian.org/archive/debian/20240506T211830Z/pool/main/s/sqlite3/sqlite3_${SQLITE_VERSION}-1_${TARGETARCH}.deb" \ + && curl -Lo /tmp/libsqlite3-0.deb "https://snapshot.debian.org/archive/debian/20240506T211830Z/pool/main/s/sqlite3/libsqlite3-0_${SQLITE_VERSION}-1_${TARGETARCH}.deb" \ + && dpkg -i /tmp/sqlite3.deb /tmp/libsqlite3-0.deb + RUN \ chsh -s /bin/bash www-data && mkdir -p /var/www/.composer && chown -R www-data:www-data /var/www \ && apt-get -y clean \