diff --git a/8.1/bookworm/apache/Dockerfile b/8.1/bookworm/apache/Dockerfile index 50ff069..0174d09 100644 --- a/8.1/bookworm/apache/Dockerfile +++ b/8.1/bookworm/apache/Dockerfile @@ -22,7 +22,7 @@ LABEL com.bmeme.project.family='PHP Docker Image' \ com.bmeme.project.version="${PHP_VERSION}-apache-bookworm" \ com.bmeme.maintainer.1='Daniele Piaggesi ' \ com.bmeme.maintainer.2='Roberto Mariani ' \ - com.bmeme.refreshedat='2025-12-22' + com.bmeme.refreshedat='2026-01-07' # Variables ENV COMPOSER_HOME=/var/www/.composer \ @@ -63,7 +63,13 @@ ENV PERSISTENT_PROGRAMS="\ vim \ zip \ curl \ - ca-certificates" + ca-certificates \ + libpng16-16 \ + libzip4 \ + libmcrypt4 \ + libwebp7 \ + libjpeg62-turbo \ + libfreetype6" WORKDIR /var/www/html @@ -115,16 +121,9 @@ RUN --mount=type=cache,target=/var/cache/apt,sharing=locked --mount=type=cache,t --with-webp=/usr \ ; \ docker-php-ext-configure intl; \ - docker-php-ext-configure zip; \ docker-php-ext-configure redis \ --enable-redis-igbinary \ --enable-redis-lzf \ - ;\ - \ - docker-php-ext-enable \ - mcrypt \ - igbinary \ - oauth \ ; \ \ docker-php-ext-install -j "$(nproc)" \ @@ -138,11 +137,19 @@ RUN --mount=type=cache,target=/var/cache/apt,sharing=locked --mount=type=cache,t zip \ ; \ \ + # Enable extensions explicitly (safer/clearer) + docker-php-ext-enable \ + mcrypt \ + igbinary \ + oauth \ + redis \ + ; \ + \ # reset apt-mark's "manual" list so that "purge --auto-remove" will remove all build dependencies apt-mark auto '.*' > /dev/null; \ apt-mark manual ${savedAptMark}; \ ldd "$(php -r 'echo ini_get("extension_dir");')"/*.so \ - | awk '/=>/ { print $3 }' \ + | awk '/=>/ && $3 ~ /^\// { print $3 }' \ | sort -u \ | xargs -r dpkg-query -S \ | cut -d: -f1 \ diff --git a/8.1/trixie/apache/Dockerfile b/8.1/trixie/apache/Dockerfile index 43a81a9..7b182bf 100644 --- a/8.1/trixie/apache/Dockerfile +++ b/8.1/trixie/apache/Dockerfile @@ -22,7 +22,7 @@ LABEL com.bmeme.project.family='PHP Docker Image' \ com.bmeme.project.version="${PHP_VERSION}-apache-trixie" \ com.bmeme.maintainer.1='Daniele Piaggesi ' \ com.bmeme.maintainer.2='Roberto Mariani ' \ - com.bmeme.refreshedat='2025-12-22' + com.bmeme.refreshedat='2026-01-07' # Variables ENV COMPOSER_HOME=/var/www/.composer \ @@ -63,7 +63,14 @@ ENV PERSISTENT_PROGRAMS="\ vim \ zip \ curl \ - ca-certificates" + ca-certificates \ + libpng16-16 \ + libjpeg62-turbo \ + libwebp7 \ + libfreetype6 \ + libzip5 \ + libmcrypt4 \ + libicu76" WORKDIR /var/www/html @@ -115,16 +122,9 @@ RUN --mount=type=cache,target=/var/cache/apt,sharing=locked --mount=type=cache,t --with-webp=/usr \ ; \ docker-php-ext-configure intl; \ - docker-php-ext-configure zip; \ docker-php-ext-configure redis \ --enable-redis-igbinary \ --enable-redis-lzf \ - ;\ - \ - docker-php-ext-enable \ - mcrypt \ - igbinary \ - oauth \ ; \ \ docker-php-ext-install -j "$(nproc)" \ @@ -138,11 +138,19 @@ RUN --mount=type=cache,target=/var/cache/apt,sharing=locked --mount=type=cache,t zip \ ; \ \ + # Enable extensions explicitly (safer/clearer) + docker-php-ext-enable \ + mcrypt \ + igbinary \ + oauth \ + redis \ + ; \ + \ # reset apt-mark's "manual" list so that "purge --auto-remove" will remove all build dependencies apt-mark auto '.*' > /dev/null; \ apt-mark manual ${savedAptMark}; \ ldd "$(php -r 'echo ini_get("extension_dir");')"/*.so \ - | awk '/=>/ { print $3 }' \ + | awk '/=>/ && $3 ~ /^\// { print $3 }' \ | sort -u \ | xargs -r dpkg-query -S \ | cut -d: -f1 \ diff --git a/8.2/bookworm/apache/Dockerfile b/8.2/bookworm/apache/Dockerfile index 098d07e..83b1768 100644 --- a/8.2/bookworm/apache/Dockerfile +++ b/8.2/bookworm/apache/Dockerfile @@ -22,7 +22,7 @@ LABEL com.bmeme.project.family='PHP Docker Image' \ com.bmeme.project.version="${PHP_VERSION}-apache-bookworm" \ com.bmeme.maintainer.1='Daniele Piaggesi ' \ com.bmeme.maintainer.2='Roberto Mariani ' \ - com.bmeme.refreshedat='2025-12-22' + com.bmeme.refreshedat='2026-01-07' # Variables ENV COMPOSER_HOME=/var/www/.composer \ @@ -63,7 +63,13 @@ ENV PERSISTENT_PROGRAMS="\ vim \ zip \ curl \ - ca-certificates" + ca-certificates \ + libpng16-16 \ + libzip4 \ + libmcrypt4 \ + libwebp7 \ + libjpeg62-turbo \ + libfreetype6" WORKDIR /var/www/html @@ -115,16 +121,9 @@ RUN --mount=type=cache,target=/var/cache/apt,sharing=locked --mount=type=cache,t --with-webp=/usr \ ; \ docker-php-ext-configure intl; \ - docker-php-ext-configure zip; \ docker-php-ext-configure redis \ --enable-redis-igbinary \ --enable-redis-lzf \ - ;\ - \ - docker-php-ext-enable \ - mcrypt \ - igbinary \ - oauth \ ; \ \ docker-php-ext-install -j "$(nproc)" \ @@ -138,11 +137,19 @@ RUN --mount=type=cache,target=/var/cache/apt,sharing=locked --mount=type=cache,t zip \ ; \ \ + # Enable extensions explicitly (safer/clearer) + docker-php-ext-enable \ + mcrypt \ + igbinary \ + oauth \ + redis \ + ; \ + \ # reset apt-mark's "manual" list so that "purge --auto-remove" will remove all build dependencies apt-mark auto '.*' > /dev/null; \ apt-mark manual ${savedAptMark}; \ ldd "$(php -r 'echo ini_get("extension_dir");')"/*.so \ - | awk '/=>/ { print $3 }' \ + | awk '/=>/ && $3 ~ /^\// { print $3 }' \ | sort -u \ | xargs -r dpkg-query -S \ | cut -d: -f1 \ diff --git a/8.2/trixie/apache/Dockerfile b/8.2/trixie/apache/Dockerfile index 755b81d..686033d 100644 --- a/8.2/trixie/apache/Dockerfile +++ b/8.2/trixie/apache/Dockerfile @@ -22,7 +22,7 @@ LABEL com.bmeme.project.family='PHP Docker Image' \ com.bmeme.project.version="${PHP_VERSION}-apache-trixie" \ com.bmeme.maintainer.1='Daniele Piaggesi ' \ com.bmeme.maintainer.2='Roberto Mariani ' \ - com.bmeme.refreshedat='2025-12-22' + com.bmeme.refreshedat='2026-01-07' # Variables ENV COMPOSER_HOME=/var/www/.composer \ @@ -63,7 +63,14 @@ ENV PERSISTENT_PROGRAMS="\ vim \ zip \ curl \ - ca-certificates" + ca-certificates \ + libpng16-16 \ + libjpeg62-turbo \ + libwebp7 \ + libfreetype6 \ + libzip5 \ + libmcrypt4 \ + libicu76" WORKDIR /var/www/html @@ -115,16 +122,9 @@ RUN --mount=type=cache,target=/var/cache/apt,sharing=locked --mount=type=cache,t --with-webp=/usr \ ; \ docker-php-ext-configure intl; \ - docker-php-ext-configure zip; \ docker-php-ext-configure redis \ --enable-redis-igbinary \ --enable-redis-lzf \ - ;\ - \ - docker-php-ext-enable \ - mcrypt \ - igbinary \ - oauth \ ; \ \ docker-php-ext-install -j "$(nproc)" \ @@ -138,11 +138,19 @@ RUN --mount=type=cache,target=/var/cache/apt,sharing=locked --mount=type=cache,t zip \ ; \ \ + # Enable extensions explicitly (safer/clearer) + docker-php-ext-enable \ + mcrypt \ + igbinary \ + oauth \ + redis \ + ; \ + \ # reset apt-mark's "manual" list so that "purge --auto-remove" will remove all build dependencies apt-mark auto '.*' > /dev/null; \ apt-mark manual ${savedAptMark}; \ ldd "$(php -r 'echo ini_get("extension_dir");')"/*.so \ - | awk '/=>/ { print $3 }' \ + | awk '/=>/ && $3 ~ /^\// { print $3 }' \ | sort -u \ | xargs -r dpkg-query -S \ | cut -d: -f1 \ diff --git a/8.3/bookworm/apache/Dockerfile b/8.3/bookworm/apache/Dockerfile index 2c2a78c..035e720 100644 --- a/8.3/bookworm/apache/Dockerfile +++ b/8.3/bookworm/apache/Dockerfile @@ -6,7 +6,8 @@ FROM php:${PHP_VERSION}-apache-bookworm AS ansible ENV DEBIAN_FRONTEND=noninteractive ENV ANSIBLE_CORE_VERSION=2.17.14 -RUN --mount=type=cache,target=/var/cache/apt,sharing=locked --mount=type=cache,target=/root/.cache/pip set -eux; \ +RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \ + --mount=type=cache,target=/root/.cache/pip set -eux; \ # install python apt-get update && apt-get install -y --no-install-recommends python3 python3-distutils python3-pip; \ \ @@ -22,7 +23,7 @@ LABEL com.bmeme.project.family='PHP Docker Image' \ com.bmeme.project.version="${PHP_VERSION}-apache-bookworm" \ com.bmeme.maintainer.1='Daniele Piaggesi ' \ com.bmeme.maintainer.2='Roberto Mariani ' \ - com.bmeme.refreshedat='2025-12-22' + com.bmeme.refreshedat='2026-01-07' # Variables ENV COMPOSER_HOME=/var/www/.composer \ @@ -63,7 +64,13 @@ ENV PERSISTENT_PROGRAMS="\ vim \ zip \ curl \ - ca-certificates" + ca-certificates \ + libpng16-16 \ + libzip4 \ + libmcrypt4 \ + libwebp7 \ + libjpeg62-turbo \ + libfreetype6" WORKDIR /var/www/html @@ -77,7 +84,9 @@ COPY --from=ansible /usr/local/bin/ansible* /usr/local/bin/ COPY scripts/docker-php-entrypoint-env.sh /usr/local/bin/docker-php-entrypoint-env.sh # install the PHP extensions we need -RUN --mount=type=cache,target=/var/cache/apt,sharing=locked --mount=type=cache,target=/tmp/pear --mount=type=cache,target=/root/.cache/composer set -eux; \ +RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \ + --mount=type=cache,target=/tmp/pear \ + --mount=type=cache,target=/root/.cache/composer set -eux; \ \ if command -v a2enmod; then \ a2enmod rewrite; \ @@ -115,16 +124,9 @@ RUN --mount=type=cache,target=/var/cache/apt,sharing=locked --mount=type=cache,t --with-webp=/usr \ ; \ docker-php-ext-configure intl; \ - docker-php-ext-configure zip; \ docker-php-ext-configure redis \ --enable-redis-igbinary \ --enable-redis-lzf \ - ;\ - \ - docker-php-ext-enable \ - mcrypt \ - igbinary \ - oauth \ ; \ \ docker-php-ext-install -j "$(nproc)" \ @@ -138,11 +140,21 @@ RUN --mount=type=cache,target=/var/cache/apt,sharing=locked --mount=type=cache,t zip \ ; \ \ + # Enable extensions explicitly (safer/clearer) + docker-php-ext-enable \ + mcrypt \ + igbinary \ + oauth \ + redis \ + ; \ + \ # reset apt-mark's "manual" list so that "purge --auto-remove" will remove all build dependencies apt-mark auto '.*' > /dev/null; \ apt-mark manual ${savedAptMark}; \ + \ + # IMPORTANT: ignore "not found" lines so we only keep real paths ldd "$(php -r 'echo ini_get("extension_dir");')"/*.so \ - | awk '/=>/ { print $3 }' \ + | awk '/=>/ && $3 ~ /^\// { print $3 }' \ | sort -u \ | xargs -r dpkg-query -S \ | cut -d: -f1 \ diff --git a/8.3/trixie/apache/Dockerfile b/8.3/trixie/apache/Dockerfile index 31c36b2..b646a9a 100644 --- a/8.3/trixie/apache/Dockerfile +++ b/8.3/trixie/apache/Dockerfile @@ -22,7 +22,7 @@ LABEL com.bmeme.project.family='PHP Docker Image' \ com.bmeme.project.version="${PHP_VERSION}-apache-trixie" \ com.bmeme.maintainer.1='Daniele Piaggesi ' \ com.bmeme.maintainer.2='Roberto Mariani ' \ - com.bmeme.refreshedat='2025-12-22' + com.bmeme.refreshedat='2026-01-07' # Variables ENV COMPOSER_HOME=/var/www/.composer \ @@ -63,7 +63,14 @@ ENV PERSISTENT_PROGRAMS="\ vim \ zip \ curl \ - ca-certificates" + ca-certificates \ + libpng16-16 \ + libjpeg62-turbo \ + libwebp7 \ + libfreetype6 \ + libzip5 \ + libmcrypt4 \ + libicu76" WORKDIR /var/www/html @@ -115,16 +122,9 @@ RUN --mount=type=cache,target=/var/cache/apt,sharing=locked --mount=type=cache,t --with-webp=/usr \ ; \ docker-php-ext-configure intl; \ - docker-php-ext-configure zip; \ docker-php-ext-configure redis \ --enable-redis-igbinary \ --enable-redis-lzf \ - ;\ - \ - docker-php-ext-enable \ - mcrypt \ - igbinary \ - oauth \ ; \ \ docker-php-ext-install -j "$(nproc)" \ @@ -138,11 +138,19 @@ RUN --mount=type=cache,target=/var/cache/apt,sharing=locked --mount=type=cache,t zip \ ; \ \ + # Enable extensions explicitly (safer/clearer) + docker-php-ext-enable \ + mcrypt \ + igbinary \ + oauth \ + redis \ + ; \ + \ # reset apt-mark's "manual" list so that "purge --auto-remove" will remove all build dependencies apt-mark auto '.*' > /dev/null; \ apt-mark manual ${savedAptMark}; \ ldd "$(php -r 'echo ini_get("extension_dir");')"/*.so \ - | awk '/=>/ { print $3 }' \ + | awk '/=>/ && $3 ~ /^\// { print $3 }' \ | sort -u \ | xargs -r dpkg-query -S \ | cut -d: -f1 \ diff --git a/README.md b/README.md index 4903171..5b5217a 100644 --- a/README.md +++ b/README.md @@ -1,49 +1,53 @@ [![Maintenance](https://img.shields.io/badge/Maintained%3F-yes-green.svg)](https://GitHub.com/Naereen/StrapDown.js/graphs/commit-activity) [![MIT license](https://img.shields.io/badge/License-MIT-blue.svg)](https://lbesson.mit-license.org/) -PHP Packaged by Bmeme -========= +# PHP Packaged by Bmeme PHP docker images based on [official PHP repository](https://hub.docker.com/_/php/), currently used by Bmeme for its development purposes, particularly suitable for Drupal or Symfony environments. ## What is contained in the images -* PHP, of course -* Some useful executables like: - * `gnupg` - * `git` - * `patch` - * `mysql-client` - * `python3` - * `vim` - * `zip` -* The following php extensions - * `bcmath` - * `gd` - * `intl` - * `igbinary` - * `mcrypt` only for 8.0 and older - * `oauth` - * `opcache` - * `pdo_mysql` - * `pdo_pgsql` - * `phpredis` - * `sockets` only 8.0 and older - * `zip` -* Composer -* Ansible (used in Bmeme for all automation tasks, @see [here](https://github.com/bmeme/ansible-role-drupal), for example) + +- PHP, of course +- Some useful executables like: + - `gnupg` + - `git` + - `patch` + - `mysql-client` + - `python3` + - `vim` + - `zip` +- The following php extensions + - `bcmath` + - `gd` + - `intl` + - `igbinary` + - `mcrypt` only for 8.0 and older + - `oauth` + - `opcache` + - `pdo_mysql` + - `pdo_pgsql` + - `phpredis` + - `sockets` only 8.0 and older + - `zip` +- Composer +- Ansible (used in Bmeme for all automation tasks) ## Supported tags and respective `Dockerfile` links -- `8.3.12-apache-bookworm`, `8.3-apache-bookworm`, `latest` [Dockerfile](https://github.com/bmeme/docker-php/blob/main/8.3/bookworm/apache/Dockerfile) -- `8.3.12-apache-bullseye`, `8.3-apache-bullseye`, [Dockerfile](https://github.com/bmeme/docker-php/blob/main/8.3/bullseye/apache/Dockerfile) -- `8.3.12-fpm-alpine`, `8.3-fpm-alpine`, [Dockerfile](https://github.com/bmeme/docker-php/blob/main/8.3/alpine/fpm/Dockerfile) - **EXPERIMENTAL** -- `8.2.24-apache-bookworm`, `8.2-apache-bookworm` [Dockerfile](https://github.com/bmeme/docker-php/blob/main/8.2/bookworm/apache/Dockerfile) -- `8.2.24-apache-bullseye`, `8.2-apache-bullseye` [Dockerfile](https://github.com/bmeme/docker-php/blob/main/8.2/bullseye/apache/Dockerfile) -- `8.2.24-fpm-alpine`, `8.2-fpm-alpine`, [Dockerfile](https://github.com/bmeme/docker-php/blob/main/8.2/alpine/fpm/Dockerfile) - **EXPERIMENTAL** -- `8.1.30-apache-bullseye`, `8.1-apache-bullseye` [Dockerfile](https://github.com/bmeme/docker-php/blob/main/8.1/bullseye/apache/Dockerfile) + +- `8.3.29-apache-trixie`, `8.3-apache-trixie`, `latest` [Dockerfile](https://github.com/bmeme/docker-php/blob/main/8.3/trixie/apache/Dockerfile) +- `8.3.29-apache-bookworm`, `8.3-apache-bookworm` [Dockerfile](https://github.com/bmeme/docker-php/blob/main/8.3/bookworm/apache/Dockerfile) +- `8.3.29-fpm-alpine`, `8.3-fpm-alpine`, [Dockerfile](https://github.com/bmeme/docker-php/blob/main/8.3/alpine/fpm/Dockerfile) - **EXPERIMENTAL** +- `8.2.30-apache-trixie`, `8.2-apache-trixie` [Dockerfile](https://github.com/bmeme/docker-php/blob/main/8.2/trixie/apache/Dockerfile) +- `8.2.30-apache-bookworm`, `8.2-apache-bookworm` [Dockerfile](https://github.com/bmeme/docker-php/blob/main/8.2/bookworm/apache/Dockerfile) +- `8.2.30-fpm-alpine`, `8.2-fpm-alpine`, [Dockerfile](https://github.com/bmeme/docker-php/blob/main/8.2/alpine/fpm/Dockerfile) - **EXPERIMENTAL** +- `8.1.34-apache-trixie`, `8.1-apache-trixie` [Dockerfile](https://github.com/bmeme/docker-php/blob/main/8.1/trixie/apache/Dockerfile) +- `8.1.34-apache-bookworm`, `8.1-apache-bookworm` [Dockerfile](https://github.com/bmeme/docker-php/blob/main/8.1/bookworm/apache/Dockerfile) - `8.1.30-fpm-alpine`, `8.1-fpm-alpine`, [Dockerfile](https://github.com/bmeme/docker-php/blob/main/8.1/alpine/fpm/Dockerfile) - **EXPERIMENTAL** ## Existent tags not more supported + +- `8.1.30-apache-bullseye`, `8.1-apache-bullseye` [Dockerfile](https://github.com/bmeme/docker-php/blob/main/8.1/bullseye/apache/Dockerfile) - `8.1.14-apache-buster`, `8.1-apache-buster` [Dockerfile](https://github.com/bmeme/docker-php/blob/main/8.1/buster/apache/Dockerfile) - `8.0.30-apache-bullseye`, `8.0-apache-bullseye` [Dockerfile](https://github.com/bmeme/docker-php/blob/main/8.0/bullseye/apache/Dockerfile) - `8.0.30-apache-buster`, `8.0-apache-buster` [Dockerfile](https://github.com/bmeme/docker-php/blob/main/8.0/buster/apache/Dockerfile) @@ -55,26 +59,33 @@ development purposes, particularly suitable for Drupal or Symfony environments. ## How to use this image ### Manually + Starting your PHP environment is really simple: + ```shell $ docker run --name myphpcontainer -p 8080:80 -d bmeme/php:latest ``` + Obviously you can change the local binding port matching your needs. ### Using a Dockerfile + ```dockerfile FROM bmeme/php:latest COPY src/ /var/www/html/ ``` + Where `src/` is the directory containing all your PHP code. Then, run the commands to build and run the Docker image: + ```shell $ docker build -t myphpimage:latest . $ docker run -d --name myphpcontainer myphpimage:latest ``` ### With a database image + ```shell $ docker run --name mydatabase -e ALLOW_EMPTY_PASSWORD=yes bitnami/mariadb:latest $ docker run --name myapplication --link mydatabase -d bmeme/php:latest @@ -83,34 +94,36 @@ $ docker run --name myapplication --link mydatabase -d bmeme/php:latest ## Custom environments ### PHP settings environments -| Variable Name | Description | Default | -|---------------|-------------|---------| -|`COMPOSER_HOME`|home directory where composer will store packages and configuration.|`/var/www/.composer` | -| `TIMEZONE`| Image Timezone | `Europe/Rome` | -| `PHP_MEMORY_LIMIT`| `memory_limit` PHP value | `512M` | -| `PHP_MAX_EXECUTION_TIME`| `max_execution_time` PHP value | `60` | -| `PHP_LOG_ENABLED`| `log_errors` PHP value. Boolean. | `1` | -| `PHP_ERROR_LOG`| `error_log` PHP value. | `/tmp/php_errors.log` | -| `PHP_UPLOAD_MAX_FILESIZE`| `upload_max_filesize` PHP value. | `20M` | -| `PHP_POST_MAX_SIZE`| `post_max_size` PHP value. | `20M` | -| `PHP_SENDMAIL`| `sendmail_path` PHP value. | `/usr/local/sendmail` | + +| Variable Name | Description | Default | +| ------------------------- | -------------------------------------------------------------------- | --------------------- | +| `COMPOSER_HOME` | home directory where composer will store packages and configuration. | `/var/www/.composer` | +| `TIMEZONE` | Image Timezone | `Europe/Rome` | +| `PHP_MEMORY_LIMIT` | `memory_limit` PHP value | `512M` | +| `PHP_MAX_EXECUTION_TIME` | `max_execution_time` PHP value | `60` | +| `PHP_LOG_ENABLED` | `log_errors` PHP value. Boolean. | `1` | +| `PHP_ERROR_LOG` | `error_log` PHP value. | `/tmp/php_errors.log` | +| `PHP_UPLOAD_MAX_FILESIZE` | `upload_max_filesize` PHP value. | `20M` | +| `PHP_POST_MAX_SIZE` | `post_max_size` PHP value. | `20M` | +| `PHP_SENDMAIL` | `sendmail_path` PHP value. | `/usr/local/sendmail` | ### OpCache config environments -| Variable Name | Description | Default | -|----------------|-------------|---------| -| `OPCACHE_ENABLED`| `opcache.enable` PHP value | `1` | -| `OPCACHE_MEMORY_CONSUMPTION`| `opcache.memory_consumption` opcache config value | `128` | -| `OPCACHE_INTERNED_STRINGS_BUFFER`| `opcache.interned_strings_buffer` opcache config value | `8` | -| `OPCACHE_MAX_ACCELERATED_FILES`| `opcache.max_accelerated_files` opcache config value | `4000` | -| `OPCACHE_REVALIDATE_FREQ`| `opcache.revalidate_freq` opcache config value | `60` | -| `OPCACHE_FAST_SHUTDOWN`| `opcache.fast_shutdown` opcache config value | `1` | + +| Variable Name | Description | Default | +| --------------------------------- | ------------------------------------------------------ | ------- | +| `OPCACHE_ENABLED` | `opcache.enable` PHP value | `1` | +| `OPCACHE_MEMORY_CONSUMPTION` | `opcache.memory_consumption` opcache config value | `128` | +| `OPCACHE_INTERNED_STRINGS_BUFFER` | `opcache.interned_strings_buffer` opcache config value | `8` | +| `OPCACHE_MAX_ACCELERATED_FILES` | `opcache.max_accelerated_files` opcache config value | `4000` | +| `OPCACHE_REVALIDATE_FREQ` | `opcache.revalidate_freq` opcache config value | `60` | +| `OPCACHE_FAST_SHUTDOWN` | `opcache.fast_shutdown` opcache config value | `1` | For more infos about OpCache configuration @see https://www.php.net/manual/en/opcache.configuration.php ## Using `docker-compose` ```yaml -version: '3.1' +version: "3.1" services: php: image: bmeme/php:latest @@ -129,6 +142,7 @@ services: ``` ## Credits + This project is a contribution of [Bmeme :: The Digital Factory](http://www.bmeme.com). This library is actually maintained by [Daniele Piaggesi](https://github.com/g0blin79) and [Roberto Mariani](https://github.com/jean-louis).