{"id":13547832,"url":"https://github.com/thecodingmachine/docker-images-php","last_synced_at":"2025-04-13T19:30:19.144Z","repository":{"id":37734534,"uuid":"116402827","full_name":"thecodingmachine/docker-images-php","owner":"thecodingmachine","description":"A set of PHP Docker images","archived":false,"fork":false,"pushed_at":"2025-03-19T17:45:12.000Z","size":810,"stargazers_count":815,"open_issues_count":35,"forks_count":137,"subscribers_count":33,"default_branch":"v4","last_synced_at":"2025-04-06T17:05:35.389Z","etag":null,"topics":["apache","docker","nodejs","php"],"latest_commit_sha":null,"homepage":"","language":"HCL","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/thecodingmachine.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":".github/CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-01-05T16:07:46.000Z","updated_at":"2025-04-01T08:02:23.000Z","dependencies_parsed_at":"2024-03-16T17:37:34.283Z","dependency_job_id":"8ef1dba3-3614-429f-973e-1b1c93e3b0c6","html_url":"https://github.com/thecodingmachine/docker-images-php","commit_stats":{"total_commits":397,"total_committers":31,"mean_commits":"12.806451612903226","dds":"0.37279596977329976","last_synced_commit":"87616d3dfa82ea694ff8cbb87ff1b7ee21a87d5c"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thecodingmachine%2Fdocker-images-php","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thecodingmachine%2Fdocker-images-php/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thecodingmachine%2Fdocker-images-php/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thecodingmachine%2Fdocker-images-php/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thecodingmachine","download_url":"https://codeload.github.com/thecodingmachine/docker-images-php/tar.gz/refs/heads/v4","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248767691,"owners_count":21158516,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["apache","docker","nodejs","php"],"created_at":"2024-08-01T12:01:01.668Z","updated_at":"2025-04-13T19:30:19.118Z","avatar_url":"https://github.com/thecodingmachine.png","language":"HCL","readme":"[DO NOT EDIT THIS FILE]: \u003c\u003e (Make yours changes in /utils/README.blueprint.md)\n![Docker PHP Images GitHub workflow](https://github.com/thecodingmachine/docker-images-php/workflows/Docker%20PHP%20Images%20GitHub%20workflow/badge.svg)\n\n# General purpose PHP images for Docker\n\nThis repository contains a set of developer-friendly, general purpose PHP images for Docker.\n\n - You can enable or disable the extensions using environment variables.\n - You can also modify the `php.ini` settings using environment variables.\n - 2 types available: `slim` (no extensions preloaded) or `fat` (most common PHP extensions are built-in)\n - 3 variants available: `CLI`, `apache` and `fpm`\n - Fat images are bundled with [Supercronic](https://github.com/aptible/supercronic) which is a Cron compatible task runner. Cron jobs can be configured using environment variables\n - Fat images come with [Composer](https://getcomposer.org/) and [Prestissimo](https://github.com/hirak/prestissimo) installed\n - All variants can be installed with or without NodeJS (if you need to build your static assets).\n - Everything is done to limit file permission issues that often arise when using Docker. The image is actively tested on Linux, Windows and MacOS\n\n\n## Images\n\n\n\n\n| Name                                                                    | PHP version                                                                                                                                         | type                                             |variant | NodeJS version  | Size \n|-------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------|--------|-----------------|------\n| [thecodingmachine/php:8.4-v4-apache](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.apache)                       | `8.4.x` | fat  | apache   | *N/A*                                                | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.4-v4-apache.svg)](https://microbadger.com/images/thecodingmachine/php:8.4-v4-apache)\n| [thecodingmachine/php:8.4-v4-apache-node10](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.apache.node) | `8.4.x` | fat  | apache   | `10.x`(2)  | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.4-v4-apache-node10.svg)](https://microbadger.com/images/thecodingmachine/php:8.4-v4-apache-node10)\n| [thecodingmachine/php:8.4-v4-apache-node12](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.apache.node) | `8.4.x` | fat  | apache   | `12.x`  | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.4-v4-apache-node12.svg)](https://microbadger.com/images/thecodingmachine/php:8.4-v4-apache-node12)\n| [thecodingmachine/php:8.4-v4-apache-node14](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.apache.node) | `8.4.x` | fat  | apache   | `14.x`  | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.4-v4-apache-node14.svg)](https://microbadger.com/images/thecodingmachine/php:8.4-v4-apache-node14)\n| [thecodingmachine/php:8.4-v4-apache-node16](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.apache.node) | `8.4.x` | fat  | apache   | `16.x`  | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.4-v4-apache-node16.svg)](https://microbadger.com/images/thecodingmachine/php:8.4-v4-apache-node16)\n| [thecodingmachine/php:8.4-v4-apache-node18](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.apache.node) | `8.4.x` | fat  | apache   | `18.x`  | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.4-v4-apache-node18.svg)](https://microbadger.com/images/thecodingmachine/php:8.4-v4-apache-node18)\n| [thecodingmachine/php:8.4-v4-apache-node20](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.apache.node) | `8.4.x` | fat  | apache   | `20.x`  | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.4-v4-apache-node20.svg)](https://microbadger.com/images/thecodingmachine/php:8.4-v4-apache-node20)\n| [thecodingmachine/php:8.4-v4-apache-node22](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.apache.node) | `8.4.x` | fat  | apache   | `22.x`  | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.4-v4-apache-node22.svg)](https://microbadger.com/images/thecodingmachine/php:8.4-v4-apache-node22)\n| [thecodingmachine/php:8.4-v4-fpm](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.fpm)                             | `8.4.x` | fat  | fpm      | *N/A*                                                | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.4-v4-fpm.svg)](https://microbadger.com/images/thecodingmachine/php:8.4-v4-fpm)\n| [thecodingmachine/php:8.4-v4-fpm-node10](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.fpm.node)       | `8.4.x` | fat  | fpm      | `10.x`(2)  | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.4-v4-fpm-node10.svg)](https://microbadger.com/images/thecodingmachine/php:8.4-v4-fpm-node10)\n| [thecodingmachine/php:8.4-v4-fpm-node12](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.fpm.node)       | `8.4.x` | fat  | fpm      | `12.x`  | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.4-v4-fpm-node12.svg)](https://microbadger.com/images/thecodingmachine/php:8.4-v4-fpm-node12)\n| [thecodingmachine/php:8.4-v4-fpm-node14](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.fpm.node)       | `8.4.x` | fat  | fpm      | `14.x`  | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.4-v4-fpm-node14.svg)](https://microbadger.com/images/thecodingmachine/php:8.4-v4-fpm-node14)\n| [thecodingmachine/php:8.4-v4-fpm-node16](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.fpm.node)       | `8.4.x` | fat  | fpm      | `16.x`  | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.4-v4-fpm-node16.svg)](https://microbadger.com/images/thecodingmachine/php:8.4-v4-fpm-node16)\n| [thecodingmachine/php:8.4-v4-fpm-node18](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.fpm.node)       | `8.4.x` | fat  | fpm      | `18.x`  | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.4-v4-fpm-node18.svg)](https://microbadger.com/images/thecodingmachine/php:8.4-v4-fpm-node18)\n| [thecodingmachine/php:8.4-v4-fpm-node20](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.fpm.node)       | `8.4.x` | fat  | fpm      | `20.x`  | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.4-v4-fpm-node20.svg)](https://microbadger.com/images/thecodingmachine/php:8.4-v4-fpm-node20)\n| [thecodingmachine/php:8.4-v4-fpm-node22](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.fpm.node)       | `8.4.x` | fat  | fpm      | `22.x`  | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.4-v4-fpm-node22.svg)](https://microbadger.com/images/thecodingmachine/php:8.4-v4-fpm-node22)\n| [thecodingmachine/php:8.4-v4-cli](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.cli)                             | `8.4.x` | fat  | cli      | *N/A*                                                | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.4-v4-cli.svg)](https://microbadger.com/images/thecodingmachine/php:8.4-v4-cli)\n| [thecodingmachine/php:8.4-v4-cli-node10](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.cli.node)       | `8.4.x` | fat  | cli      | `10.x`(2)  | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.4-v4-cli-node10.svg)](https://microbadger.com/images/thecodingmachine/php:8.4-v4-cli-node10)\n| [thecodingmachine/php:8.4-v4-cli-node12](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.cli.node)       | `8.4.x` | fat  | cli      | `12.x`  | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.4-v4-cli-node12.svg)](https://microbadger.com/images/thecodingmachine/php:8.4-v4-cli-node12)\n| [thecodingmachine/php:8.4-v4-cli-node14](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.cli.node)       | `8.4.x` | fat  | cli      | `14.x`  | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.4-v4-cli-node14.svg)](https://microbadger.com/images/thecodingmachine/php:8.4-v4-cli-node14)\n| [thecodingmachine/php:8.4-v4-cli-node16](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.cli.node)       | `8.4.x` | fat  | cli      | `16.x`  | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.4-v4-cli-node16.svg)](https://microbadger.com/images/thecodingmachine/php:8.4-v4-cli-node16)\n| [thecodingmachine/php:8.4-v4-cli-node18](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.cli.node)       | `8.4.x` | fat  | cli      | `18.x`  | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.4-v4-cli-node18.svg)](https://microbadger.com/images/thecodingmachine/php:8.4-v4-cli-node18)\n| [thecodingmachine/php:8.4-v4-cli-node20](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.cli.node)       | `8.4.x` | fat  | cli      | `20.x`  | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.4-v4-cli-node20.svg)](https://microbadger.com/images/thecodingmachine/php:8.4-v4-cli-node20)\n| [thecodingmachine/php:8.4-v4-cli-node22](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.cli.node)       | `8.4.x` | fat  | cli      | `22.x`  | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.4-v4-cli-node22.svg)](https://microbadger.com/images/thecodingmachine/php:8.4-v4-cli-node22)\n| [thecodingmachine/php:8.4-v4-slim-apache](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.slim.apache)             | `8.4.x` | slim | apache   | *N/A*                                                | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.4-v4-slim-apache.svg)](https://microbadger.com/images/thecodingmachine/php:8.4-v4-slim-apache)\n| [thecodingmachine/php:8.4-v4-slim-fpm](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.slim.fpm)                                                                | `8.4.x`                                                                                                    | slim                                             | fpm      | *N/A*                                                | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.4-v4-slim-fpm.svg)](https://microbadger.com/images/thecodingmachine/php:8.4-v4-slim-fpm)\n| [thecodingmachine/php:8.4-v4-slim-cli](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.slim.cli)                                                                | `8.4.x`                                                                                                    | slim                                             | cli      | *N/A*                                                | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.4-v4-slim-cli.svg)](https://microbadger.com/images/thecodingmachine/php:8.4-v4-slim-cli)\n| [thecodingmachine/php:8.3-v4-apache](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.apache)                       | `8.3.x` | fat  | apache   | *N/A*                                                | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.3-v4-apache.svg)](https://microbadger.com/images/thecodingmachine/php:8.3-v4-apache)\n| [thecodingmachine/php:8.3-v4-apache-node10](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.apache.node) | `8.3.x` | fat  | apache   | `10.x`(2)  | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.3-v4-apache-node10.svg)](https://microbadger.com/images/thecodingmachine/php:8.3-v4-apache-node10)\n| [thecodingmachine/php:8.3-v4-apache-node12](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.apache.node) | `8.3.x` | fat  | apache   | `12.x`  | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.3-v4-apache-node12.svg)](https://microbadger.com/images/thecodingmachine/php:8.3-v4-apache-node12)\n| [thecodingmachine/php:8.3-v4-apache-node14](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.apache.node) | `8.3.x` | fat  | apache   | `14.x`  | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.3-v4-apache-node14.svg)](https://microbadger.com/images/thecodingmachine/php:8.3-v4-apache-node14)\n| [thecodingmachine/php:8.3-v4-apache-node16](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.apache.node) | `8.3.x` | fat  | apache   | `16.x`  | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.3-v4-apache-node16.svg)](https://microbadger.com/images/thecodingmachine/php:8.3-v4-apache-node16)\n| [thecodingmachine/php:8.3-v4-apache-node18](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.apache.node) | `8.3.x` | fat  | apache   | `18.x`  | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.3-v4-apache-node18.svg)](https://microbadger.com/images/thecodingmachine/php:8.3-v4-apache-node18)\n| [thecodingmachine/php:8.3-v4-apache-node20](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.apache.node) | `8.3.x` | fat  | apache   | `20.x`  | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.3-v4-apache-node20.svg)](https://microbadger.com/images/thecodingmachine/php:8.3-v4-apache-node20)\n| [thecodingmachine/php:8.3-v4-apache-node22](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.apache.node) | `8.3.x` | fat  | apache   | `22.x`  | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.3-v4-apache-node22.svg)](https://microbadger.com/images/thecodingmachine/php:8.3-v4-apache-node22)\n| [thecodingmachine/php:8.3-v4-fpm](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.fpm)                             | `8.3.x` | fat  | fpm      | *N/A*                                                | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.3-v4-fpm.svg)](https://microbadger.com/images/thecodingmachine/php:8.3-v4-fpm)\n| [thecodingmachine/php:8.3-v4-fpm-node10](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.fpm.node)       | `8.3.x` | fat  | fpm      | `10.x`(2)  | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.3-v4-fpm-node10.svg)](https://microbadger.com/images/thecodingmachine/php:8.3-v4-fpm-node10)\n| [thecodingmachine/php:8.3-v4-fpm-node12](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.fpm.node)       | `8.3.x` | fat  | fpm      | `12.x`  | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.3-v4-fpm-node12.svg)](https://microbadger.com/images/thecodingmachine/php:8.3-v4-fpm-node12)\n| [thecodingmachine/php:8.3-v4-fpm-node14](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.fpm.node)       | `8.3.x` | fat  | fpm      | `14.x`  | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.3-v4-fpm-node14.svg)](https://microbadger.com/images/thecodingmachine/php:8.3-v4-fpm-node14)\n| [thecodingmachine/php:8.3-v4-fpm-node16](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.fpm.node)       | `8.3.x` | fat  | fpm      | `16.x`  | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.3-v4-fpm-node16.svg)](https://microbadger.com/images/thecodingmachine/php:8.3-v4-fpm-node16)\n| [thecodingmachine/php:8.3-v4-fpm-node18](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.fpm.node)       | `8.3.x` | fat  | fpm      | `18.x`  | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.3-v4-fpm-node18.svg)](https://microbadger.com/images/thecodingmachine/php:8.3-v4-fpm-node18)\n| [thecodingmachine/php:8.3-v4-fpm-node20](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.fpm.node)       | `8.3.x` | fat  | fpm      | `20.x`  | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.3-v4-fpm-node20.svg)](https://microbadger.com/images/thecodingmachine/php:8.3-v4-fpm-node20)\n| [thecodingmachine/php:8.3-v4-fpm-node22](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.fpm.node)       | `8.3.x` | fat  | fpm      | `22.x`  | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.3-v4-fpm-node22.svg)](https://microbadger.com/images/thecodingmachine/php:8.3-v4-fpm-node22)\n| [thecodingmachine/php:8.3-v4-cli](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.cli)                             | `8.3.x` | fat  | cli      | *N/A*                                                | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.3-v4-cli.svg)](https://microbadger.com/images/thecodingmachine/php:8.3-v4-cli)\n| [thecodingmachine/php:8.3-v4-cli-node10](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.cli.node)       | `8.3.x` | fat  | cli      | `10.x`(2)  | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.3-v4-cli-node10.svg)](https://microbadger.com/images/thecodingmachine/php:8.3-v4-cli-node10)\n| [thecodingmachine/php:8.3-v4-cli-node12](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.cli.node)       | `8.3.x` | fat  | cli      | `12.x`  | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.3-v4-cli-node12.svg)](https://microbadger.com/images/thecodingmachine/php:8.3-v4-cli-node12)\n| [thecodingmachine/php:8.3-v4-cli-node14](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.cli.node)       | `8.3.x` | fat  | cli      | `14.x`  | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.3-v4-cli-node14.svg)](https://microbadger.com/images/thecodingmachine/php:8.3-v4-cli-node14)\n| [thecodingmachine/php:8.3-v4-cli-node16](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.cli.node)       | `8.3.x` | fat  | cli      | `16.x`  | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.3-v4-cli-node16.svg)](https://microbadger.com/images/thecodingmachine/php:8.3-v4-cli-node16)\n| [thecodingmachine/php:8.3-v4-cli-node18](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.cli.node)       | `8.3.x` | fat  | cli      | `18.x`  | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.3-v4-cli-node18.svg)](https://microbadger.com/images/thecodingmachine/php:8.3-v4-cli-node18)\n| [thecodingmachine/php:8.3-v4-cli-node20](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.cli.node)       | `8.3.x` | fat  | cli      | `20.x`  | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.3-v4-cli-node20.svg)](https://microbadger.com/images/thecodingmachine/php:8.3-v4-cli-node20)\n| [thecodingmachine/php:8.3-v4-cli-node22](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.cli.node)       | `8.3.x` | fat  | cli      | `22.x`  | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.3-v4-cli-node22.svg)](https://microbadger.com/images/thecodingmachine/php:8.3-v4-cli-node22)\n| [thecodingmachine/php:8.3-v4-slim-apache](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.slim.apache)             | `8.3.x` | slim | apache   | *N/A*                                                | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.3-v4-slim-apache.svg)](https://microbadger.com/images/thecodingmachine/php:8.3-v4-slim-apache)\n| [thecodingmachine/php:8.3-v4-slim-fpm](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.slim.fpm)                                                                | `8.3.x`                                                                                                    | slim                                             | fpm      | *N/A*                                                | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.3-v4-slim-fpm.svg)](https://microbadger.com/images/thecodingmachine/php:8.3-v4-slim-fpm)\n| [thecodingmachine/php:8.3-v4-slim-cli](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.slim.cli)                                                                | `8.3.x`                                                                                                    | slim                                             | cli      | *N/A*                                                | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.3-v4-slim-cli.svg)](https://microbadger.com/images/thecodingmachine/php:8.3-v4-slim-cli)\n| [thecodingmachine/php:8.2-v4-apache](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.apache)                       | `8.2.x` | fat  | apache   | *N/A*                                                | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.2-v4-apache.svg)](https://microbadger.com/images/thecodingmachine/php:8.2-v4-apache)\n| [thecodingmachine/php:8.2-v4-apache-node10](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.apache.node) | `8.2.x` | fat  | apache   | `10.x`(2)  | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.2-v4-apache-node10.svg)](https://microbadger.com/images/thecodingmachine/php:8.2-v4-apache-node10)\n| [thecodingmachine/php:8.2-v4-apache-node12](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.apache.node) | `8.2.x` | fat  | apache   | `12.x`  | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.2-v4-apache-node12.svg)](https://microbadger.com/images/thecodingmachine/php:8.2-v4-apache-node12)\n| [thecodingmachine/php:8.2-v4-apache-node14](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.apache.node) | `8.2.x` | fat  | apache   | `14.x`  | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.2-v4-apache-node14.svg)](https://microbadger.com/images/thecodingmachine/php:8.2-v4-apache-node14)\n| [thecodingmachine/php:8.2-v4-apache-node16](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.apache.node) | `8.2.x` | fat  | apache   | `16.x`  | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.2-v4-apache-node16.svg)](https://microbadger.com/images/thecodingmachine/php:8.2-v4-apache-node16)\n| [thecodingmachine/php:8.2-v4-apache-node18](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.apache.node) | `8.2.x` | fat  | apache   | `18.x`  | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.2-v4-apache-node18.svg)](https://microbadger.com/images/thecodingmachine/php:8.2-v4-apache-node18)\n| [thecodingmachine/php:8.2-v4-apache-node20](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.apache.node) | `8.2.x` | fat  | apache   | `20.x`  | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.2-v4-apache-node20.svg)](https://microbadger.com/images/thecodingmachine/php:8.2-v4-apache-node20)\n| [thecodingmachine/php:8.2-v4-apache-node22](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.apache.node) | `8.2.x` | fat  | apache   | `22.x`  | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.2-v4-apache-node22.svg)](https://microbadger.com/images/thecodingmachine/php:8.2-v4-apache-node22)\n| [thecodingmachine/php:8.2-v4-fpm](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.fpm)                             | `8.2.x` | fat  | fpm      | *N/A*                                                | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.2-v4-fpm.svg)](https://microbadger.com/images/thecodingmachine/php:8.2-v4-fpm)\n| [thecodingmachine/php:8.2-v4-fpm-node10](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.fpm.node)       | `8.2.x` | fat  | fpm      | `10.x`(2)  | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.2-v4-fpm-node10.svg)](https://microbadger.com/images/thecodingmachine/php:8.2-v4-fpm-node10)\n| [thecodingmachine/php:8.2-v4-fpm-node12](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.fpm.node)       | `8.2.x` | fat  | fpm      | `12.x`  | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.2-v4-fpm-node12.svg)](https://microbadger.com/images/thecodingmachine/php:8.2-v4-fpm-node12)\n| [thecodingmachine/php:8.2-v4-fpm-node14](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.fpm.node)       | `8.2.x` | fat  | fpm      | `14.x`  | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.2-v4-fpm-node14.svg)](https://microbadger.com/images/thecodingmachine/php:8.2-v4-fpm-node14)\n| [thecodingmachine/php:8.2-v4-fpm-node16](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.fpm.node)       | `8.2.x` | fat  | fpm      | `16.x`  | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.2-v4-fpm-node16.svg)](https://microbadger.com/images/thecodingmachine/php:8.2-v4-fpm-node16)\n| [thecodingmachine/php:8.2-v4-fpm-node18](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.fpm.node)       | `8.2.x` | fat  | fpm      | `18.x`  | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.2-v4-fpm-node18.svg)](https://microbadger.com/images/thecodingmachine/php:8.2-v4-fpm-node18)\n| [thecodingmachine/php:8.2-v4-fpm-node20](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.fpm.node)       | `8.2.x` | fat  | fpm      | `20.x`  | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.2-v4-fpm-node20.svg)](https://microbadger.com/images/thecodingmachine/php:8.2-v4-fpm-node20)\n| [thecodingmachine/php:8.2-v4-fpm-node22](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.fpm.node)       | `8.2.x` | fat  | fpm      | `22.x`  | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.2-v4-fpm-node22.svg)](https://microbadger.com/images/thecodingmachine/php:8.2-v4-fpm-node22)\n| [thecodingmachine/php:8.2-v4-cli](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.cli)                             | `8.2.x` | fat  | cli      | *N/A*                                                | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.2-v4-cli.svg)](https://microbadger.com/images/thecodingmachine/php:8.2-v4-cli)\n| [thecodingmachine/php:8.2-v4-cli-node10](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.cli.node)       | `8.2.x` | fat  | cli      | `10.x`(2)  | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.2-v4-cli-node10.svg)](https://microbadger.com/images/thecodingmachine/php:8.2-v4-cli-node10)\n| [thecodingmachine/php:8.2-v4-cli-node12](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.cli.node)       | `8.2.x` | fat  | cli      | `12.x`  | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.2-v4-cli-node12.svg)](https://microbadger.com/images/thecodingmachine/php:8.2-v4-cli-node12)\n| [thecodingmachine/php:8.2-v4-cli-node14](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.cli.node)       | `8.2.x` | fat  | cli      | `14.x`  | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.2-v4-cli-node14.svg)](https://microbadger.com/images/thecodingmachine/php:8.2-v4-cli-node14)\n| [thecodingmachine/php:8.2-v4-cli-node16](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.cli.node)       | `8.2.x` | fat  | cli      | `16.x`  | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.2-v4-cli-node16.svg)](https://microbadger.com/images/thecodingmachine/php:8.2-v4-cli-node16)\n| [thecodingmachine/php:8.2-v4-cli-node18](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.cli.node)       | `8.2.x` | fat  | cli      | `18.x`  | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.2-v4-cli-node18.svg)](https://microbadger.com/images/thecodingmachine/php:8.2-v4-cli-node18)\n| [thecodingmachine/php:8.2-v4-cli-node20](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.cli.node)       | `8.2.x` | fat  | cli      | `20.x`  | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.2-v4-cli-node20.svg)](https://microbadger.com/images/thecodingmachine/php:8.2-v4-cli-node20)\n| [thecodingmachine/php:8.2-v4-cli-node22](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.cli.node)       | `8.2.x` | fat  | cli      | `22.x`  | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.2-v4-cli-node22.svg)](https://microbadger.com/images/thecodingmachine/php:8.2-v4-cli-node22)\n| [thecodingmachine/php:8.2-v4-slim-apache](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.slim.apache)             | `8.2.x` | slim | apache   | *N/A*                                                | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.2-v4-slim-apache.svg)](https://microbadger.com/images/thecodingmachine/php:8.2-v4-slim-apache)\n| [thecodingmachine/php:8.2-v4-slim-fpm](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.slim.fpm)                                                                | `8.2.x`                                                                                                    | slim                                             | fpm      | *N/A*                                                | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.2-v4-slim-fpm.svg)](https://microbadger.com/images/thecodingmachine/php:8.2-v4-slim-fpm)\n| [thecodingmachine/php:8.2-v4-slim-cli](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.slim.cli)                                                                | `8.2.x`                                                                                                    | slim                                             | cli      | *N/A*                                                | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.2-v4-slim-cli.svg)](https://microbadger.com/images/thecodingmachine/php:8.2-v4-slim-cli)\n| [thecodingmachine/php:8.1-v4-apache](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.apache)                       | `8.1.x` | fat  | apache   | *N/A*                                                | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.1-v4-apache.svg)](https://microbadger.com/images/thecodingmachine/php:8.1-v4-apache)\n| [thecodingmachine/php:8.1-v4-apache-node10](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.apache.node) | `8.1.x` | fat  | apache   | `10.x`(2)  | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.1-v4-apache-node10.svg)](https://microbadger.com/images/thecodingmachine/php:8.1-v4-apache-node10)\n| [thecodingmachine/php:8.1-v4-apache-node12](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.apache.node) | `8.1.x` | fat  | apache   | `12.x`  | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.1-v4-apache-node12.svg)](https://microbadger.com/images/thecodingmachine/php:8.1-v4-apache-node12)\n| [thecodingmachine/php:8.1-v4-apache-node14](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.apache.node) | `8.1.x` | fat  | apache   | `14.x`  | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.1-v4-apache-node14.svg)](https://microbadger.com/images/thecodingmachine/php:8.1-v4-apache-node14)\n| [thecodingmachine/php:8.1-v4-apache-node16](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.apache.node) | `8.1.x` | fat  | apache   | `16.x`  | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.1-v4-apache-node16.svg)](https://microbadger.com/images/thecodingmachine/php:8.1-v4-apache-node16)\n| [thecodingmachine/php:8.1-v4-apache-node18](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.apache.node) | `8.1.x` | fat  | apache   | `18.x`  | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.1-v4-apache-node18.svg)](https://microbadger.com/images/thecodingmachine/php:8.1-v4-apache-node18)\n| [thecodingmachine/php:8.1-v4-apache-node20](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.apache.node) | `8.1.x` | fat  | apache   | `20.x`  | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.1-v4-apache-node20.svg)](https://microbadger.com/images/thecodingmachine/php:8.1-v4-apache-node20)\n| [thecodingmachine/php:8.1-v4-apache-node22](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.apache.node) | `8.1.x` | fat  | apache   | `22.x`  | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.1-v4-apache-node22.svg)](https://microbadger.com/images/thecodingmachine/php:8.1-v4-apache-node22)\n| [thecodingmachine/php:8.1-v4-fpm](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.fpm)                             | `8.1.x` | fat  | fpm      | *N/A*                                                | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.1-v4-fpm.svg)](https://microbadger.com/images/thecodingmachine/php:8.1-v4-fpm)\n| [thecodingmachine/php:8.1-v4-fpm-node10](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.fpm.node)       | `8.1.x` | fat  | fpm      | `10.x`(2)  | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.1-v4-fpm-node10.svg)](https://microbadger.com/images/thecodingmachine/php:8.1-v4-fpm-node10)\n| [thecodingmachine/php:8.1-v4-fpm-node12](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.fpm.node)       | `8.1.x` | fat  | fpm      | `12.x`  | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.1-v4-fpm-node12.svg)](https://microbadger.com/images/thecodingmachine/php:8.1-v4-fpm-node12)\n| [thecodingmachine/php:8.1-v4-fpm-node14](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.fpm.node)       | `8.1.x` | fat  | fpm      | `14.x`  | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.1-v4-fpm-node14.svg)](https://microbadger.com/images/thecodingmachine/php:8.1-v4-fpm-node14)\n| [thecodingmachine/php:8.1-v4-fpm-node16](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.fpm.node)       | `8.1.x` | fat  | fpm      | `16.x`  | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.1-v4-fpm-node16.svg)](https://microbadger.com/images/thecodingmachine/php:8.1-v4-fpm-node16)\n| [thecodingmachine/php:8.1-v4-fpm-node18](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.fpm.node)       | `8.1.x` | fat  | fpm      | `18.x`  | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.1-v4-fpm-node18.svg)](https://microbadger.com/images/thecodingmachine/php:8.1-v4-fpm-node18)\n| [thecodingmachine/php:8.1-v4-fpm-node20](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.fpm.node)       | `8.1.x` | fat  | fpm      | `20.x`  | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.1-v4-fpm-node20.svg)](https://microbadger.com/images/thecodingmachine/php:8.1-v4-fpm-node20)\n| [thecodingmachine/php:8.1-v4-fpm-node22](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.fpm.node)       | `8.1.x` | fat  | fpm      | `22.x`  | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.1-v4-fpm-node22.svg)](https://microbadger.com/images/thecodingmachine/php:8.1-v4-fpm-node22)\n| [thecodingmachine/php:8.1-v4-cli](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.cli)                             | `8.1.x` | fat  | cli      | *N/A*                                                | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.1-v4-cli.svg)](https://microbadger.com/images/thecodingmachine/php:8.1-v4-cli)\n| [thecodingmachine/php:8.1-v4-cli-node10](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.cli.node)       | `8.1.x` | fat  | cli      | `10.x`(2)  | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.1-v4-cli-node10.svg)](https://microbadger.com/images/thecodingmachine/php:8.1-v4-cli-node10)\n| [thecodingmachine/php:8.1-v4-cli-node12](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.cli.node)       | `8.1.x` | fat  | cli      | `12.x`  | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.1-v4-cli-node12.svg)](https://microbadger.com/images/thecodingmachine/php:8.1-v4-cli-node12)\n| [thecodingmachine/php:8.1-v4-cli-node14](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.cli.node)       | `8.1.x` | fat  | cli      | `14.x`  | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.1-v4-cli-node14.svg)](https://microbadger.com/images/thecodingmachine/php:8.1-v4-cli-node14)\n| [thecodingmachine/php:8.1-v4-cli-node16](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.cli.node)       | `8.1.x` | fat  | cli      | `16.x`  | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.1-v4-cli-node16.svg)](https://microbadger.com/images/thecodingmachine/php:8.1-v4-cli-node16)\n| [thecodingmachine/php:8.1-v4-cli-node18](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.cli.node)       | `8.1.x` | fat  | cli      | `18.x`  | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.1-v4-cli-node18.svg)](https://microbadger.com/images/thecodingmachine/php:8.1-v4-cli-node18)\n| [thecodingmachine/php:8.1-v4-cli-node20](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.cli.node)       | `8.1.x` | fat  | cli      | `20.x`  | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.1-v4-cli-node20.svg)](https://microbadger.com/images/thecodingmachine/php:8.1-v4-cli-node20)\n| [thecodingmachine/php:8.1-v4-cli-node22](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.cli.node)       | `8.1.x` | fat  | cli      | `22.x`  | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.1-v4-cli-node22.svg)](https://microbadger.com/images/thecodingmachine/php:8.1-v4-cli-node22)\n| [thecodingmachine/php:8.1-v4-slim-apache](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.slim.apache)             | `8.1.x` | slim | apache   | *N/A*                                                | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.1-v4-slim-apache.svg)](https://microbadger.com/images/thecodingmachine/php:8.1-v4-slim-apache)\n| [thecodingmachine/php:8.1-v4-slim-fpm](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.slim.fpm)                                                                | `8.1.x`                                                                                                    | slim                                             | fpm      | *N/A*                                                | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.1-v4-slim-fpm.svg)](https://microbadger.com/images/thecodingmachine/php:8.1-v4-slim-fpm)\n| [thecodingmachine/php:8.1-v4-slim-cli](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.slim.cli)                                                                | `8.1.x`                                                                                                    | slim                                             | cli      | *N/A*                                                | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.1-v4-slim-cli.svg)](https://microbadger.com/images/thecodingmachine/php:8.1-v4-slim-cli)\n| [thecodingmachine/php:8.0-v4-apache](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.apache)                       | `8.0.x` | fat  | apache   | *N/A*                                                | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.0-v4-apache.svg)](https://microbadger.com/images/thecodingmachine/php:8.0-v4-apache)\n| [thecodingmachine/php:8.0-v4-apache-node10](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.apache.node) | `8.0.x` | fat  | apache   | `10.x`(2)  | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.0-v4-apache-node10.svg)](https://microbadger.com/images/thecodingmachine/php:8.0-v4-apache-node10)\n| [thecodingmachine/php:8.0-v4-apache-node12](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.apache.node) | `8.0.x` | fat  | apache   | `12.x`  | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.0-v4-apache-node12.svg)](https://microbadger.com/images/thecodingmachine/php:8.0-v4-apache-node12)\n| [thecodingmachine/php:8.0-v4-apache-node14](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.apache.node) | `8.0.x` | fat  | apache   | `14.x`  | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.0-v4-apache-node14.svg)](https://microbadger.com/images/thecodingmachine/php:8.0-v4-apache-node14)\n| [thecodingmachine/php:8.0-v4-apache-node16](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.apache.node) | `8.0.x` | fat  | apache   | `16.x`  | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.0-v4-apache-node16.svg)](https://microbadger.com/images/thecodingmachine/php:8.0-v4-apache-node16)\n| [thecodingmachine/php:8.0-v4-apache-node18](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.apache.node) | `8.0.x` | fat  | apache   | `18.x`  | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.0-v4-apache-node18.svg)](https://microbadger.com/images/thecodingmachine/php:8.0-v4-apache-node18)\n| [thecodingmachine/php:8.0-v4-apache-node20](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.apache.node) | `8.0.x` | fat  | apache   | `20.x`  | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.0-v4-apache-node20.svg)](https://microbadger.com/images/thecodingmachine/php:8.0-v4-apache-node20)\n| [thecodingmachine/php:8.0-v4-apache-node22](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.apache.node) | `8.0.x` | fat  | apache   | `22.x`  | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.0-v4-apache-node22.svg)](https://microbadger.com/images/thecodingmachine/php:8.0-v4-apache-node22)\n| [thecodingmachine/php:8.0-v4-fpm](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.fpm)                             | `8.0.x` | fat  | fpm      | *N/A*                                                | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.0-v4-fpm.svg)](https://microbadger.com/images/thecodingmachine/php:8.0-v4-fpm)\n| [thecodingmachine/php:8.0-v4-fpm-node10](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.fpm.node)       | `8.0.x` | fat  | fpm      | `10.x`(2)  | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.0-v4-fpm-node10.svg)](https://microbadger.com/images/thecodingmachine/php:8.0-v4-fpm-node10)\n| [thecodingmachine/php:8.0-v4-fpm-node12](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.fpm.node)       | `8.0.x` | fat  | fpm      | `12.x`  | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.0-v4-fpm-node12.svg)](https://microbadger.com/images/thecodingmachine/php:8.0-v4-fpm-node12)\n| [thecodingmachine/php:8.0-v4-fpm-node14](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.fpm.node)       | `8.0.x` | fat  | fpm      | `14.x`  | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.0-v4-fpm-node14.svg)](https://microbadger.com/images/thecodingmachine/php:8.0-v4-fpm-node14)\n| [thecodingmachine/php:8.0-v4-fpm-node16](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.fpm.node)       | `8.0.x` | fat  | fpm      | `16.x`  | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.0-v4-fpm-node16.svg)](https://microbadger.com/images/thecodingmachine/php:8.0-v4-fpm-node16)\n| [thecodingmachine/php:8.0-v4-fpm-node18](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.fpm.node)       | `8.0.x` | fat  | fpm      | `18.x`  | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.0-v4-fpm-node18.svg)](https://microbadger.com/images/thecodingmachine/php:8.0-v4-fpm-node18)\n| [thecodingmachine/php:8.0-v4-fpm-node20](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.fpm.node)       | `8.0.x` | fat  | fpm      | `20.x`  | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.0-v4-fpm-node20.svg)](https://microbadger.com/images/thecodingmachine/php:8.0-v4-fpm-node20)\n| [thecodingmachine/php:8.0-v4-fpm-node22](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.fpm.node)       | `8.0.x` | fat  | fpm      | `22.x`  | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.0-v4-fpm-node22.svg)](https://microbadger.com/images/thecodingmachine/php:8.0-v4-fpm-node22)\n| [thecodingmachine/php:8.0-v4-cli](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.cli)                             | `8.0.x` | fat  | cli      | *N/A*                                                | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.0-v4-cli.svg)](https://microbadger.com/images/thecodingmachine/php:8.0-v4-cli)\n| [thecodingmachine/php:8.0-v4-cli-node10](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.cli.node)       | `8.0.x` | fat  | cli      | `10.x`(2)  | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.0-v4-cli-node10.svg)](https://microbadger.com/images/thecodingmachine/php:8.0-v4-cli-node10)\n| [thecodingmachine/php:8.0-v4-cli-node12](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.cli.node)       | `8.0.x` | fat  | cli      | `12.x`  | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.0-v4-cli-node12.svg)](https://microbadger.com/images/thecodingmachine/php:8.0-v4-cli-node12)\n| [thecodingmachine/php:8.0-v4-cli-node14](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.cli.node)       | `8.0.x` | fat  | cli      | `14.x`  | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.0-v4-cli-node14.svg)](https://microbadger.com/images/thecodingmachine/php:8.0-v4-cli-node14)\n| [thecodingmachine/php:8.0-v4-cli-node16](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.cli.node)       | `8.0.x` | fat  | cli      | `16.x`  | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.0-v4-cli-node16.svg)](https://microbadger.com/images/thecodingmachine/php:8.0-v4-cli-node16)\n| [thecodingmachine/php:8.0-v4-cli-node18](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.cli.node)       | `8.0.x` | fat  | cli      | `18.x`  | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.0-v4-cli-node18.svg)](https://microbadger.com/images/thecodingmachine/php:8.0-v4-cli-node18)\n| [thecodingmachine/php:8.0-v4-cli-node20](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.cli.node)       | `8.0.x` | fat  | cli      | `20.x`  | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.0-v4-cli-node20.svg)](https://microbadger.com/images/thecodingmachine/php:8.0-v4-cli-node20)\n| [thecodingmachine/php:8.0-v4-cli-node22](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.cli.node)       | `8.0.x` | fat  | cli      | `22.x`  | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.0-v4-cli-node22.svg)](https://microbadger.com/images/thecodingmachine/php:8.0-v4-cli-node22)\n| [thecodingmachine/php:8.0-v4-slim-apache](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.slim.apache)             | `8.0.x` | slim | apache   | *N/A*                                                | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.0-v4-slim-apache.svg)](https://microbadger.com/images/thecodingmachine/php:8.0-v4-slim-apache)\n| [thecodingmachine/php:8.0-v4-slim-fpm](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.slim.fpm)                                                                | `8.0.x`                                                                                                    | slim                                             | fpm      | *N/A*                                                | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.0-v4-slim-fpm.svg)](https://microbadger.com/images/thecodingmachine/php:8.0-v4-slim-fpm)\n| [thecodingmachine/php:8.0-v4-slim-cli](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.slim.cli)                                                                | `8.0.x`                                                                                                    | slim                                             | cli      | *N/A*                                                | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.0-v4-slim-cli.svg)](https://microbadger.com/images/thecodingmachine/php:8.0-v4-slim-cli)\n| [thecodingmachine/php:7.4-v4-apache](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.apache)                       | `7.4.x`(1) | fat  | apache   | *N/A*                                                | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:7.4-v4-apache.svg)](https://microbadger.com/images/thecodingmachine/php:7.4-v4-apache)\n| [thecodingmachine/php:7.4-v4-apache-node10](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.apache.node) | `7.4.x`(1) | fat  | apache   | `10.x`(2)  | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:7.4-v4-apache-node10.svg)](https://microbadger.com/images/thecodingmachine/php:7.4-v4-apache-node10)\n| [thecodingmachine/php:7.4-v4-apache-node12](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.apache.node) | `7.4.x`(1) | fat  | apache   | `12.x`  | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:7.4-v4-apache-node12.svg)](https://microbadger.com/images/thecodingmachine/php:7.4-v4-apache-node12)\n| [thecodingmachine/php:7.4-v4-apache-node14](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.apache.node) | `7.4.x`(1) | fat  | apache   | `14.x`  | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:7.4-v4-apache-node14.svg)](https://microbadger.com/images/thecodingmachine/php:7.4-v4-apache-node14)\n| [thecodingmachine/php:7.4-v4-apache-node16](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.apache.node) | `7.4.x`(1) | fat  | apache   | `16.x`  | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:7.4-v4-apache-node16.svg)](https://microbadger.com/images/thecodingmachine/php:7.4-v4-apache-node16)\n| [thecodingmachine/php:7.4-v4-apache-node18](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.apache.node) | `7.4.x`(1) | fat  | apache   | `18.x`  | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:7.4-v4-apache-node18.svg)](https://microbadger.com/images/thecodingmachine/php:7.4-v4-apache-node18)\n| [thecodingmachine/php:7.4-v4-apache-node20](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.apache.node) | `7.4.x`(1) | fat  | apache   | `20.x`  | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:7.4-v4-apache-node20.svg)](https://microbadger.com/images/thecodingmachine/php:7.4-v4-apache-node20)\n| [thecodingmachine/php:7.4-v4-apache-node22](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.apache.node) | `7.4.x`(1) | fat  | apache   | `22.x`  | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:7.4-v4-apache-node22.svg)](https://microbadger.com/images/thecodingmachine/php:7.4-v4-apache-node22)\n| [thecodingmachine/php:7.4-v4-fpm](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.fpm)                             | `7.4.x`(1) | fat  | fpm      | *N/A*                                                | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:7.4-v4-fpm.svg)](https://microbadger.com/images/thecodingmachine/php:7.4-v4-fpm)\n| [thecodingmachine/php:7.4-v4-fpm-node10](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.fpm.node)       | `7.4.x`(1) | fat  | fpm      | `10.x`(2)  | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:7.4-v4-fpm-node10.svg)](https://microbadger.com/images/thecodingmachine/php:7.4-v4-fpm-node10)\n| [thecodingmachine/php:7.4-v4-fpm-node12](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.fpm.node)       | `7.4.x`(1) | fat  | fpm      | `12.x`  | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:7.4-v4-fpm-node12.svg)](https://microbadger.com/images/thecodingmachine/php:7.4-v4-fpm-node12)\n| [thecodingmachine/php:7.4-v4-fpm-node14](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.fpm.node)       | `7.4.x`(1) | fat  | fpm      | `14.x`  | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:7.4-v4-fpm-node14.svg)](https://microbadger.com/images/thecodingmachine/php:7.4-v4-fpm-node14)\n| [thecodingmachine/php:7.4-v4-fpm-node16](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.fpm.node)       | `7.4.x`(1) | fat  | fpm      | `16.x`  | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:7.4-v4-fpm-node16.svg)](https://microbadger.com/images/thecodingmachine/php:7.4-v4-fpm-node16)\n| [thecodingmachine/php:7.4-v4-fpm-node18](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.fpm.node)       | `7.4.x`(1) | fat  | fpm      | `18.x`  | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:7.4-v4-fpm-node18.svg)](https://microbadger.com/images/thecodingmachine/php:7.4-v4-fpm-node18)\n| [thecodingmachine/php:7.4-v4-fpm-node20](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.fpm.node)       | `7.4.x`(1) | fat  | fpm      | `20.x`  | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:7.4-v4-fpm-node20.svg)](https://microbadger.com/images/thecodingmachine/php:7.4-v4-fpm-node20)\n| [thecodingmachine/php:7.4-v4-fpm-node22](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.fpm.node)       | `7.4.x`(1) | fat  | fpm      | `22.x`  | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:7.4-v4-fpm-node22.svg)](https://microbadger.com/images/thecodingmachine/php:7.4-v4-fpm-node22)\n| [thecodingmachine/php:7.4-v4-cli](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.cli)                             | `7.4.x`(1) | fat  | cli      | *N/A*                                                | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:7.4-v4-cli.svg)](https://microbadger.com/images/thecodingmachine/php:7.4-v4-cli)\n| [thecodingmachine/php:7.4-v4-cli-node10](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.cli.node)       | `7.4.x`(1) | fat  | cli      | `10.x`(2)  | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:7.4-v4-cli-node10.svg)](https://microbadger.com/images/thecodingmachine/php:7.4-v4-cli-node10)\n| [thecodingmachine/php:7.4-v4-cli-node12](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.cli.node)       | `7.4.x`(1) | fat  | cli      | `12.x`  | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:7.4-v4-cli-node12.svg)](https://microbadger.com/images/thecodingmachine/php:7.4-v4-cli-node12)\n| [thecodingmachine/php:7.4-v4-cli-node14](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.cli.node)       | `7.4.x`(1) | fat  | cli      | `14.x`  | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:7.4-v4-cli-node14.svg)](https://microbadger.com/images/thecodingmachine/php:7.4-v4-cli-node14)\n| [thecodingmachine/php:7.4-v4-cli-node16](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.cli.node)       | `7.4.x`(1) | fat  | cli      | `16.x`  | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:7.4-v4-cli-node16.svg)](https://microbadger.com/images/thecodingmachine/php:7.4-v4-cli-node16)\n| [thecodingmachine/php:7.4-v4-cli-node18](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.cli.node)       | `7.4.x`(1) | fat  | cli      | `18.x`  | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:7.4-v4-cli-node18.svg)](https://microbadger.com/images/thecodingmachine/php:7.4-v4-cli-node18)\n| [thecodingmachine/php:7.4-v4-cli-node20](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.cli.node)       | `7.4.x`(1) | fat  | cli      | `20.x`  | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:7.4-v4-cli-node20.svg)](https://microbadger.com/images/thecodingmachine/php:7.4-v4-cli-node20)\n| [thecodingmachine/php:7.4-v4-cli-node22](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.cli.node)       | `7.4.x`(1) | fat  | cli      | `22.x`  | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:7.4-v4-cli-node22.svg)](https://microbadger.com/images/thecodingmachine/php:7.4-v4-cli-node22)\n| [thecodingmachine/php:7.4-v4-slim-apache](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.slim.apache)             | `7.4.x`(1) | slim | apache   | *N/A*                                                | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:7.4-v4-slim-apache.svg)](https://microbadger.com/images/thecodingmachine/php:7.4-v4-slim-apache)\n| [thecodingmachine/php:7.4-v4-slim-fpm](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.slim.fpm)                                                                | `7.4.x`(1)                                                                                                    | slim                                             | fpm      | *N/A*                                                | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:7.4-v4-slim-fpm.svg)](https://microbadger.com/images/thecodingmachine/php:7.4-v4-slim-fpm)\n| [thecodingmachine/php:7.4-v4-slim-cli](https://github.com/thecodingmachine/docker-images-php/blob/v4/Dockerfile.slim.cli)                                                                | `7.4.x`(1)                                                                                                    | slim                                             | cli      | *N/A*                                                | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:7.4-v4-slim-cli.svg)](https://microbadger.com/images/thecodingmachine/php:7.4-v4-slim-cli)\n\n\n* (1) [PHP 7.4 is end of life](https://www.php.net/supported-versions.php)\n* (2) [Node 10 is end of life](https://nodejs.org/en/about/releases/)  \n\nNote: we also tag patch releases of PHP versions. So you can specify a specific patch release using thecodingmachine/php:**8.0.2**-v4-cli for instance.\nHowever, unless you have a **very specific need** (for instance if the latest patch release of PHP introduced regressions), believe you have no valid reason to ask explicitly for 8.0.2 for instance.\nWhen 8.0.3 is out, you certainly want to upgrade automatically to this patch release since patch releases contain only bugfixes.\nAlso, we automatically rebuild X.Y images every week, but only the latest X.Y.Z patch release gets a rebuild. The other patch releases are frozen in time and will contain bugs and security issues. So use those with great care.\n\n[Major].[minor] images are automatically updated when a new patch version of PHP is released, so the PHP 7.4 image will always contain \nthe most up-to-date version of the PHP 7.4.x branch.\n\n## Usage\n\nThese images are based on the [official PHP image](https://hub.docker.com/_/php/).\n\nExample with CLI:\n\n```bash\n$ docker run -it --rm --name my-running-script -v \"$PWD\":/usr/src/app thecodingmachine/php:8.4-v4-cli php your-script.php\n```\n\nExample with Apache:\n\n```bash\n$ docker run -p 80:80 --rm --name my-apache-php-app -v \"$PWD\":/var/www/html thecodingmachine/php:8.4-v4-apache\n```\n\nExample with PHP-FPM:\n\n```bash\n$ docker run -p 9000:9000 --rm --name my-php-fpm -v \"$PWD\":/var/www/html thecodingmachine/php:8.4-v4-fpm\n```\n\nExample with Apache + Node 14.x in a Dockerfile:\n\n**Dockerfile**\n```Dockerfile\nFROM thecodingmachine/php:8.4-v4-apache-node14\n\nCOPY src/ /var/www/html/\nRUN composer install\nRUN npm install\nRUN npm run build\n```\n\n## Extensions available\n\nThis image comes with 2 \"types\": the *slim* and the **fat** image.\n\nThese extensions are enabled by default in slim image: `calendar` `ctype` `curl` `date` `dom` `exif` `fileinfo` `filter` `ftp` `gettext` `iconv` `json` `mbstring` `opcache` `openssl` `pcntl` `pcre` `PDO` `Phar` `posix` `readline` `shmop` `Reflection` `session` `shmop` `SimpleXML` `sockets` `sodium` `SPL` `sysvmsg` `sysvsem` `sysvshm` `tokenizer` `xml` `xmlreader` `xmlwriter` `xsl` `zip`\n\nThis list can be outdated, you can verify by executing : `docker run --rm -it thecodingmachine/php:8.4-v4-slim-cli php -m`\n\nThe slim image provides a simple way to install the other extensions. You would typically use the \"slim\" image in a `Dockerfile` when building your own custom image.\n\nThe fat image contains the most commonly used extensions. You would typically use it in a local or CI environment. \n\n### Fat image\n\nBelow is a list of extensions available in this image:\n\n**Enabled by default (in addition to extensions enabled in Slim image):** `apcu`, `hash`, `iconv`, `igbinary`, `mysqli`, `mysqlnd`, `redis`, `soap`, `xsl`, `zlib` and all enabled in slim. \n\n**Available (can be enabled using environment variables):** `amqp` `ast` `bcmath` `blackfire` `bz2` `dba` `ds` `enchant` `ev` `event` `exif` `excimer` `ffi` `mailparse` `msgpack` `gd` `gettext` `gmp` `gnupg` `grpc` `igbinary` `imagick` `imap` `intl` `ldap` `memcached` `mongodb` `pcov` `pdo_dblib` `pdo_pgsql` `pdo_sqlite` `pgsql` `pspell` `shmop` `snmp` `sockets` `sqlite3` `swoole` `tidy` `uploadprogress` `uuid` `xdebug` `xmlrpc` `xsl` `yaml`\n\nThis list can be outdated, you can verify by executing : `docker run --rm -it thecodingmachine/php:8.4-v4-cli php -m`\n\n**Note**:\n\n- *event*, *gnupg* are not available in PHP 8.0+\n- *gettext*, *ev*, *swoole* are not available in PHP 8.1+\n- *ev*, *rdkafka*, *snmp*, *swoole* are not available in all `ARM64` images (build time is too long : it's possible to install manually as required) \n- *blackfire* not supported yet in PHP8.4 : https://support.blackfire.platform.sh/hc/en-us/articles/4740726712082-PHP-versions-Platforms-support\n\n### Enabling/disabling extensions in the fat image\n\nYou can enable/disable extensions using the `PHP_EXTENSION_[extension_name]` environment variable.\n\nFor instance:\n\n```yml\nversion: '3'\nservices:\n  my_app:\n    image: thecodingmachine/php:8.4-v4-apache-node16\n    environment:\n      # Enable the PostgreSQL extension\n      PHP_EXTENSION_PGSQL: 1\n      # Disable the Mysqli extension (otherwise it is enabled by default)\n      PHP_EXTENSION_MYSQLI: 0\n```\n\nAs an alternative, you can use the `PHP_EXTENSIONS` global variable:\n\n```bash\nPHP_EXTENSIONS=pgsql gettext imap\n```\n\n### Compiling extensions in the slim image\n\nIf you are using the slim image, you can automatically compile the extensions using the `PHP_EXTENSIONS` ARG in your Dockerfile.\n\n```Dockerfile\nARG PHP_EXTENSIONS=\"apcu mysqli pdo_mysql redis soap\"\nFROM thecodingmachine/php:8.4-v4-slim-apache\n# The build will automatically trigger the download and compilation\n# of the extensions (thanks to a ONBUILD hook in the slim image)\n```\n\nBeware :\n* The `ARG PHP_EXTENSIONS` command must be written before the `FROM`. This is not a typo.\n* `ARG PHP_EXTENSIONS=\"\"` it's not the same as `ENV PHP_EXTENSIONS=\"\"`\n* You can't use `ARG PHP_EXTENSION_MYEXT=\"\"` like the fat image. \n* **Heads up**: if you are using multistage builds, the \"ARG\" variable must be put at the very top of the file (before the \nfirst FROM):\n\n```Dockerfile\n# The PHP_EXTENSIONS ARG will apply to the \"slim\" image\nARG PHP_EXTENSIONS=\"apcu mysqli pdo_mysql soap\"\n\nFROM thecodingmachine/php:8.4-v4-apache-node16 AS builder\n\nCOPY --chown=docker:docker sources/web .\nRUN composer install \u0026\u0026\\\n    yarn install \u0026\u0026\\\n    yarn build\n\n# The slim image will automatically build the extensions from the list provided at the very top of the file.\nFROM thecodingmachine/php:8.4-v4-slim-apache\n\nENV APP_ENV=prod \\\n    APACHE_DOCUMENT_ROOT=public/\n\nCOPY --from=builder /var/www/html .\n```\n\nIn the sample above, we use the fat image to perform a \"yarn build\", but copy the result in a slim image that does\nnot contain Node, and contains only required extensions.\n\n## Setting parameters in php.ini\n\nBy default, the base `php.ini` file used is the [*development* php.ini](https://github.com/php/php-src/blob/PHP-8.4/php.ini-development) file that comes with PHP. \n\nYou can use the production `php.ini` file using the `TEMPLATE_PHP_INI` environment variable:\n\n```bash\n# Use the production php.ini file as a base\nTEMPLATE_PHP_INI=production\n```\n\nYou can override parameters in `php.ini` using the PHP_INI_XXX environment variables:\n\n```yml\nversion: '3'\nservices:\n  my_app:\n    image: thecodingmachine/php:8.4-v4-apache-node16\n    environment:\n      # set the parameter memory_limit=1g\n      PHP_INI_MEMORY_LIMIT: 1g\n      # set the parameter error_reporting=EALL\n      PHP_INI_ERROR_REPORTING: E_ALL\n```\n\nAbsolutely all `php.ini` parameters can be set.\n\nInternally, the image will map all environment variables starting with `PHP_INI_`.\n\nIf your `php.ini` parameter contains a dot (\".\"), you can replace it with a double underscore (\"__\").\n\nFor instance:\n\n```bash\n# Will set the parameter xdebug.remote_autostart=1\nPHP_INI_XDEBUG__REMOTE_AUTOSTART=1\n```\n\n## Default working directory\n\nThe working directory (the directory in which you should mount/copy your application) depends on the image variant\nyou are using:\n\n| Variant | Working directory |\n|---------|-------------------|\n| cli     | `/usr/src/app`    |\n| apache  | `/var/www/html`   |\n| fpm     | `/var/www/html`   |\n\n\n## Changing Apache document root\n\nFor the *apache* variant, you can change the document root of Apache (i.e. your \"public\" directory) by using the \n`APACHE_DOCUMENT_ROOT` variable:\n\n```bash\n# The root of your website is in the \"public\" directory:\nAPACHE_DOCUMENT_ROOT=public/\n```\n\nIf the APACHE_DOCUMENT_ROOT starts with a \"/\", it will be considered an absolute path.\nIf the APACHE_DOCUMENT_ROOT does not starts with a \"/\", it will be a path relative to \"/var/www/html\".\n\n```bash\n# These 2 variables are identical\nAPACHE_DOCUMENT_ROOT=public/\nAPACHE_DOCUMENT_ROOT=/var/www/html/public\n```\n\n## Enabling/disabling Apache extensions\n\nYou can enable/disable Apache extensions using the `APACHE_EXTENSION_[extension_name]` environment variable.\n\nFor instance:\n\n```yml\nversion: '3'\nservices:\n  my_app:\n    image: thecodingmachine/php:8.4-v4-apache-node16\n    environment:\n      # Enable the DAV extension for Apache\n      APACHE_EXTENSION_DAV: 1\n      # Enable the SSL extension for Apache\n      APACHE_EXTENSION_SSL: 1\n```\n\nAs an alternative, you can use the `APACHE_EXTENSIONS` global variable:\n\n```bash\nAPACHE_EXTENSIONS=\"dav ssl\"\n```\n\n**Apache modules enabled by default:** `access_compat` `alias` `auth_basic` `authn_core` `authn_file` `authz_core` `authz_host` `authz_user` `autoindex` `deflate` `dir` `env` `expires` `filter` `mime` `mpm_prefork` `negotiation` `php8.0 (depend of your active version)` `reqtimeout` `rewrite` `setenvif` `status`\n\n**Apache modules available:** `access_compat` `actions` `alias` `allowmethods` `asis` `auth_basic` `auth_digest` `auth_form` `authn_anon` `authn_core` `authn_dbd` `authn_dbm` `authn_file` `authn_socache` `authnz_fcgi` `authnz_ldap` `authz_core` `authz_dbd` `authz_dbm` `authz_groupfile` `authz_host` `authz_owner` `authz_user` `autoindex` `brotli` `buffer` `cache` `cache_disk` `cache_socache` `cern_meta` `cgi` `cgid` `charset_lite` `data` `dav` `dav_fs` `dav_lock` `dbd` `deflate` `dialup` `dir` `dump_io` `echo` `env` `ext_filter` `expires` `file_cache` `filter` `headers` `heartbeat` `heartmonitor` `http2` `ident` `imagemap` `include` `info` `lbmethod_bybusyness` `lbmethod_byrequests` `lbmethod_bytraffic` `lbmethod_heartbeat` `ldap` `log_debug` `log_forensic` `lua` `macro` `md` `mime` `mime_magic` `mpm_event` `mpm_prefork` `mpm_worker` `negotiation` `php8.0 (depend of your active version)` `proxy` `proxy_ajp` `proxy_balancer` `proxy_connect` `proxy_express` `proxy_fcgi` `proxy_fdpass` `proxy_ftp` `proxy_hcheck` `proxy_html` `proxy_http` `proxy_http2` `proxy_scgi` `proxy_wstunnel` `ratelimit` `reflector` `remoteip` `reqtimeout` `request` `rewrite` `sed` `session` `session_cookie` `session_crypto` `session_dbd` `setenvif` `slotmem_plain` `slotmem_shm` `socache_dbm` `socache_memcache` `socache_redis` `socache_shmcb` `speling` `ssl` `status` `substitute` `suexec` `unique_id` `userdir` `usertrack` `vhost_alias` `xml2enc`\n\nThis list can be outdated, you can verify by executing : `docker run --rm -it thecodingmachine/php:8.4-v4-slim-apache a2enmod`\n\n \n## Debugging\n\nTo enable XDebug` `you simply have to set the environment variable:\n\n```bash\nPHP_EXTENSION_XDEBUG=1\n```\n \nIf you enable XDebug, the image will do its best to configure the `xdebug.client_host` to point back to your Docker host.\n\nBehind the scenes, the image will:\n\n- set the parameter `xdebug.mode=debug`\n- if you are using a Linux machine, the `xdebug.client_host` IP will point to your Docker gateway\n- if you are using a Windows or MaxOS machine, the `xdebug.client_host` IP will point to [`host.docker.internal`](https://docs.docker.com/docker-for-mac/networking/#use-cases-and-workarounds) or [`docker.for.mac.localhost`](https://docs.docker.com/docker-for-mac/networking/#use-cases-and-workarounds)\n\nIf you want to debug directly inside your container (for example if you're using [VSCode devcontainers](https://code.visualstudio.com/docs/remote/containers)) you can overwrite the [`xdebug.client_host`](https://xdebug.org/docs/all_settings#client_host) value by setting the following environment variable:\n\n```bash\nXDEBUG_CLIENT_HOST=127.0.0.1\n```\n\nIn that case the manually set value takes precedence over the mentioned ones above.\n\n## NodeJS\n\nThe *fat* images come with a Node variant. You can use Node 10, 12, 14 or 16. If you need a Node 8 variant, [use thecodingmachine/php v3 images](https://github.com/thecodingmachine/docker-images-php/tree/v3). If you need a Node 6 variant, [use thecodingmachine/php v1 images](https://github.com/thecodingmachine/docker-images-php/tree/7.2-v1).\n\nIf you use the *slim* images, you can install a NodeJS version with a simple ARG during the build:\n\n```Dockerfile\nARG NODE_VERSION=14\nFROM thecodingmachine/php:8.4-v4-slim-apache\n# The build will automatically trigger the download of Node 14\n# (thanks to a ONBUILD hook in the slim image)\n```\n\nBeware! The `ARG NODE_VERSION` command must be written before the `FROM`. This is not a typo.\n\n`NODE_VERSION` can take any valid node versions (from 6 to 11 at the time of writing this README)\n\n## Permissions\n\nEver faced file permission issues with Docker? Good news, this is a thing of the past!\n\nIf you are used to running Docker containers with the base PHP image, you probably noticed that when running commands\n(like `composer install`) within the container, files are associated to the `root` user. This is because the base user\nof the image is \"root\".\n\nWhen you mount your project directory into `/var/www/html`, it would be great if the default user used by Docker could\nbe your current host user.\n\nThe problem with Docker is that the container and the host do not share the same list of users. For instance, you might\nbe logged in on your host computer as `superdev` (ID: 1000), and the container has no user whose ID is 1000.\n\nThe *thecodingmachine/php* images solve this issue with a bit of black magic:\n\nThe image contains a user named `docker`. On container startup, the startup script will look at the owner of the \nworking directory (`/var/www/html` for Apache/PHP-FPM, or `/usr/src/app` for CLI). The script will then assume that\nyou want to run commands as this user. So it will **dynamically change the ID of the docker user** to match the ID of\nthe current working directory user.\n\nFurthermore, the image is changing the Apache default user/group to be `docker/docker` (instead if `www-data/www-data`).\nSo Apache will run with the same rights as the user on your host.\n\nThe direct result is that, in development:\n\n - Your PHP application can edit any file\n - Your container can edit any file\n - You can still edit any file created by Apache or by the container in CLI\n\n### Using this image in production\n\nBy changing the Apache user to be `docker:docker`, we are lowering the security.\nThis is OK for a development environment, but this should be avoided in production.\nIndeed, in production, Apache should not be allowed to edit PHP files of your application. If for some reason, an \nattacker manages to change PHP files using a security hole, he could then run any PHP script by editing the PHP files\nof your application.\n\nIn production, you want to change back the Apache user to www-data.\n\nThis can be done easily:\n\n**Dockerfile**\n```Dockerfile\nFROM thecodingmachine/php:8.4-v4-apache\n\n# ...\n\n# Change back Apache user and group to www-data\nENV APACHE_RUN_USER=www-data \\\n    APACHE_RUN_GROUP=www-data\n```\n\n\n## Setting up CRON jobs\n\nYou can set up CRON jobs using environment variables too.\n\nTo do this, you need to configure 3 variables:\n\n```bash\n# configure the user that will run cron (defaults to root)\nCRON_USER=root\n# configure the schedule for the cron job (here: run every minute)\nCRON_SCHEDULE=* * * * *\n# last but not least, configure the command\nCRON_COMMAND=vendor/bin/console do:stuff\n```\n\nBy default, CRON output will be redirected to Docker output.\n\nIf you have more than one job to run, you can suffix your environment variable with the same string. For instance:\n\n```bash\nCRON_USER_1=root\nCRON_SCHEDULE_1=* * * * *\nCRON_COMMAND_1=vendor/bin/console do:stuff\n\nCRON_USER_2=www-data\nCRON_SCHEDULE_2=0 3 * * *\nCRON_COMMAND_2=vendor/bin/console other:stuff\n```\n\nCron is **installed by default in the fat images**. If you are using the \"*slim*\" images, you need to install it by passing\na single argument before the \"FROM\" clause in your Dockerfile:\n\n```Dockerfile\nARG INSTALL_CRON=1\nFROM thecodingmachine/php:8.4-v4-slim-apache\n# The build triggers automatically the installation of Cron\n```\n\n**Important**: The cron runner we use is \"Supercronic\" and not the orginial \"cron\" that has a number of issues\nwith containers. Even with Supercronic, the architecture of cron was never designed with Docker in mind \n(Cron is way older than Docker). It will run correctly on your container. If at some point you want to scale and add \nmore containers, it will run on all your containers. At that point, if you only want to run a Cron task once for your \napplication (and not once per container), you might want to have a look at alternative solutions like \n[Tasker](https://github.com/opsxcq/tasker) or use the native features of your orchestrator (if you use Kubernetes,\nyou have a native task runner available), or one of the many other alternatives.\n\nPlease notice that by default, containers are running in the UTC timezone. So your CRONs will run at UTC time.\nIf you want to change a timezone in a container, you can use the `TZ` environment variable.\n\n```bash\n# Run this cron at 1 am, Paris time\nTZ=Europe/Paris\nCRON_SCHEDULE_1=0 1 * * *\nCRON_COMMAND_1=vendor/bin/console do:stuff\n```\n\n### Supercronic options\nTo specify Supercronic options you can set the `SUPERCRONIC_OPTIONS` environment variable.\n\nThis can be used to enable duplicate jobs. Per default, Supercronic will wait for a given job to finish before that job is scheduled again.\\\nWith the option `-overlapping` Supercronic will run duplicate instances of the jobs instead of waiting for them.\n\n```bash\nSUPERCRONIC_OPTIONS=-overlapping\n\n# Or multiple options\nSUPERCRONIC_OPTIONS=-overlapping -debug\n```\n\nFor more options see see the [Supercronic Documentation](https://github.com/aptible/supercronic/blob/master/README.md).\n\n## Launching commands on container startup\n\nYou can launch commands on container startup using the `STARTUP_COMMAND_XXX` environment variables.\nThis can be very helpful to install dependencies or apply database patches for instance:\n\n```bash\nSTARTUP_COMMAND_1=composer install\nSTARTUP_COMMAND_2=vendor/bin/doctrine orm:schema-tool:update \n```\n\nAs an alternative, the images will look into the container for an executable file named `/etc/container/startup.sh`.\n\nIf such a file is mounted in the image, it will be executed on container startup.\n\n```bash\ndocker run -it --rm --name my-running-script -v \"$PWD\":/usr/src/myapp -w /usr/src/myapp \\ \n       -v $PWD/my-startup-script.sh:/etc/container/startup.sh thecodingmachine/php:8.4-v4-cli php your-script.php \n```\n\n## Using the CLI variant\n\nThe CLI images (thecodingmachine/php:8.4-v4-cli) expect a command to be passed in parameter.\nYou should override the Docker \"command\".\n\nImportant! You should not override the Docker \"entrypoint\".\n\n**Usage in a Dockerfile:**\n\n```Dockerfile\nFROM thecodingmachine/php:8.4-v4-cli\n\nCMD [\"php\", \"myprogram.php\", \"some_param\"]\n```\n\n**Usage with Docker compose:**\n\n**docker-compose.yml**\n```yml\nversion: '3'\nservices:\n  my_app:\n    image: thecodingmachine/php:8.4-v4-cli\n    command: php myprogram.php some_param\n```\n\n## Registering SSH private keys\n\nIf your PHP project as a dependency on [a package stored in a private GIT repository](https://getcomposer.org/doc/05-repositories.md#using-private-repositories), \nyour `composer install` commands will not work unless you register your private key in the container.\n\nYou have several options to do this.\n\n### Option 1: mount your keys in the container directly\n\nThis option is the easiest way to go if you are using the image on a development environment.\n\n**docker-compose.yml**\n```yml\nversion: '3'\nservices:\n  my_app:\n    image: thecodingmachine/php:8.4-v4-apache-node16\n    volumes:\n      - ~/.ssh:/home/docker/.ssh\n```\n\n### Option 2: store the keys from environment variables or build arguments\n\nLook at this option if you are building a Dockerfile from this image.\n\nThe first thing to do is to get the signature of the server you want to connect to.\n\n```bash\n$ ssh-keyscan myserver.com\n```\n\nCopy the output and put it in an environment variable. We assume the content is stored in `$SSH_KNOWN_HOSTS`.\n\nNow, let's write a Dockerfile.\n\n**Dockerfile**\n```yml\nFROM thecodingmachine/php:8.4-v4-apache\n\nARG SSH_PRIVATE_KEY\nARG SSH_KNOWN_HOSTS\n\n# Let's register the private key\nRUN ssh-add \u003c(echo \"$SSH_PRIVATE_KEY\")\n# Let's add the server to the list of known hosts.\nRUN echo \"$SSH_KNOWN_HOSTS\" \u003e\u003e ~/.ssh/known_hosts\n```\n\nFinally, when triggering the build, you must pass the 2 variables as [build arguments](https://docs.docker.com/engine/reference/commandline/build/#set-build-time-variables-build-arg):\n\n```bash\n$ docker build -t my_image --build-arg SSH_PRIVATE_KEY=\"$SSH_PRIVATE_KEY\" --build-arg SSH_KNOWN_HOSTS=\"$SSH_KNOWN_HOSTS\" .\n```\n\n## Usage in Kubernetes\n\nIf you plan to use this image in Kubernetes, please be aware that the image internally uses `sudo`. This is because the\ndefault user (`docker`) needs to be able to edit php config files as `root`.\n\nKubernetes has a security setting (`allowPrivilegeEscalation`) that can disallow the use of `sudo`. The use of this flag\nbreaks the image and in the logs, you will find the message:\n\n```\nsudo: effective uid is not 0, is /usr/bin/sudo on a file system with the 'nosuid' option set or an NFS file system without root privileges?\n```\n\nPlease be sure that this option is never set to false:\n\n```yml\napiVersion: v1\nkind: Pod\n# ...\nspec:\n  containers:\n  - name: foobar\n    image: thecodingmachine/php:8.4-v4-apache\n    securityContext:\n      allowPrivilegeEscalation: true # never use \"false\" here.\n```\n\n## Profiling with Blackfire\n\nThis image comes with the [Blackfire]() PHP probe. You can install it using:\n\n```bash\nPHP_EXTENSION_BLACKFIRE=1\n```\n\nBy default, the image expects that the blackfire agent is started in another container.\n\nYour `docker-compose.yml` file will typically look like this:\n\n**docker-compose.yml**\n```yml\nversion: '3.3'\nservices:\n  php:\n    image: thecodingmachine/php:8.4-v4-apache\n    ports:\n      - \"80:80\"\n    environment:\n      PHP_EXTENSION_BLACKFIRE: 1\n  blackfire:\n    image: blackfire/blackfire\n    environment:\n        # Exposes the host BLACKFIRE_SERVER_ID and TOKEN environment variables.\n        - BLACKFIRE_SERVER_ID\n        - BLACKFIRE_SERVER_TOKEN\n        # You can also use global environment credentials :\n        # BLACKFIRE_SERVER_ID: SERVER-ID\n        # BLACKFIRE_SERVER_TOKEN: SERVER-TOKEN\n```\n\nSee [Blackfire Docker documentation](https://blackfire.io/docs/integrations/docker#running-the-agent) for more information.\n\nThe image assumes that the Blackfire agent is accessible via the `blackfire` URL (like in the exemple above).\nIf for some reason, the container name is not \"blackfire\", you can customize the agent URL with the `BLACKFIRE_AGENT` environment variable:\n\n**docker-compose.yml**\n```yml\nversion: '3.3'\nservices:\n  php:\n    image: thecodingmachine/php:8.4-v4-apache\n    environment:\n      PHP_EXTENSION_BLACKFIRE: 1\n      BLACKFIRE_AGENT: myblackfire\n    # ...\n  myblackfire:\n    image: blackfire/blackfire\n    environment:\n        # ...\n```\n\n## Migrating from older image versions\n\nCheck the [migration notes](MIGRATING.md).\n\n## Contributing\n\nThere is one branch per minor PHP version and version of the image.\n\nPlease submit your pull requests to the lowest branch where is applies.\n\nThe Dockerfiles and the README are generated from a template using [Orbit](https://github.com/gulien/orbit).\n\nIf you want to modify a Dockerfile or the README, you should instead edit the `utils/Dockerfile.blueprint`\nor `utils/README.blueprint.md` and then run the command:\n\n```bash\n$ orbit run generate\n```\n\nThis command will generate all the files from the \"blueprint\" templates.\n\nYou can then test your changes using the `build-and-test.sh` command:\n\n```bash\nPHP_VERSION=8.4 BRANCH=v4 VARIANT=apache ./build-and-test.sh\n```\n\n### Additional environment in build-and-test.sh\n\n- BUILDER: either build or buildx depending on your configuration.\nDefaults to build\n- BLACKFIRE_VERSION: defaults to 1. You can install v2 if you're feeling adventurous by specifying 2 as a value.\n- PLATFORM: Docker will default to your architecture for building images. However, if you have QEMU set up in your machine, you can try building for another architecture like linux/arm64\n\nOnly one platform at a time is supported during the build and test script execution.\n\n*APPLE SILICON CONSIDERATIONS*\n\nFilesystem management works differently in Apple's macOS, so, if you're trying to build a linux/arm64 image (that is best suited for using in a M1/M2 Mac than a linux/amd64 one), there's a high likelihood that the filesystem user and permissions with busybox are going to fail.\n\nAlthough the test fails, when using the built image, everything works as expected.\n\nRun a virtual machine with linux/arm64 with Docker installed in it and, then, build and test the image. You'll take advantage of the ARM speed and will also be able to run the unit tests properly.\n\n\n### Adding additional images\n\nTo add a new version (php, node, apache, ...), please edit the following files :\n\n- utils/README.blueprint.md \n  - Add your image in this section: Images\n- orbit.yml: Your image in generation task \n- .travis.yml: To check the new image\n- build-and-test.sh: Add your image in test\n\n## Special thanks\n\nThese images have been strongly inspired by [tetraweb/php](https://hub.docker.com/r/tetraweb/php/).\n","funding_links":[],"categories":["Shell"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthecodingmachine%2Fdocker-images-php","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthecodingmachine%2Fdocker-images-php","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthecodingmachine%2Fdocker-images-php/lists"}