Skip to content

Commit ac028ad

Browse files
authored
Merge pull request #404 from JanTvrdik/add-php-8.5-support
Add PHP 8.5 support
2 parents 355c1ac + 2c9c71c commit ac028ad

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

61 files changed

+371
-24
lines changed

.github/workflows/workflow.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ jobs:
1616
strategy:
1717
fail-fast: false
1818
matrix:
19-
php_version: ['8.4', '8.3','8.2','8.1']
19+
php_version: ['8.5', '8.4', '8.3','8.2','8.1']
2020
variant: ['apache','cli','fpm']
2121
# builder: [ {arch: "amd64", os: "ubuntu-latest"}, {arch: "arm64", os: "macos-latest"}]
2222
builder: [ {arch: "amd64", os: "ubuntu-24.04"}, {arch: "arm64", os: "ubuntu-24.04"}]
@@ -65,7 +65,7 @@ jobs:
6565
strategy:
6666
fail-fast: false
6767
matrix:
68-
php_version: ['8.4', '8.3','8.2','8.1']
68+
php_version: ['8.5', '8.4', '8.3','8.2','8.1']
6969
variant: ['apache','cli','fpm']
7070
steps:
7171
- name: Checkout

CHANGELOG.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,13 @@
11
# Change Log
22
## Version 5
33

4+
### Minor changes
5+
6+
* **2025-11-26**
7+
* Support for PHP 8.5
8+
9+
### Initial
10+
411
**2025-01-27**
512
* Upgrade the base version from Ubuntu 20.04 to 24.04
613
* Default blackfire version is now the version 2 (v1 is still available with BLACKFIRE_VERSION=1 at buildtime but with securities issues)

Dockerfile.slim.apache

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,12 +49,17 @@ RUN apt update \
4949
openssh-client \
5050
&& apt clean \
5151
&& rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* /usr/share/doc/*
52-
RUN apt update \
52+
# Note: From PHP 8.5, opcache is built-in and php${PHP_VERSION}-opcache package doesn't exist
53+
RUN OPCACHE_PACKAGE="" \
54+
&& if [ "${PHP_VERSION}" != "8.5" ]; then \
55+
OPCACHE_PACKAGE="php${PHP_VERSION}-opcache"; \
56+
fi \
57+
&& apt update \
5358
&& apt install -y --no-install-recommends \
5459
php${PHP_VERSION}-cli \
5560
php${PHP_VERSION}-curl \
5661
php${PHP_VERSION}-mbstring \
57-
php${PHP_VERSION}-opcache \
62+
${OPCACHE_PACKAGE} \
5863
php${PHP_VERSION}-readline \
5964
php${PHP_VERSION}-xml \
6065
php${PHP_VERSION}-zip \

Dockerfile.slim.cli

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,12 +49,17 @@ RUN apt update \
4949
openssh-client \
5050
&& apt clean \
5151
&& rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* /usr/share/doc/*
52-
RUN apt update \
52+
# Note: From PHP 8.5, opcache is built-in and php${PHP_VERSION}-opcache package doesn't exist
53+
RUN OPCACHE_PACKAGE="" \
54+
&& if [ "${PHP_VERSION}" != "8.5" ]; then \
55+
OPCACHE_PACKAGE="php${PHP_VERSION}-opcache"; \
56+
fi \
57+
&& apt update \
5358
&& apt install -y --no-install-recommends \
5459
php${PHP_VERSION}-cli \
5560
php${PHP_VERSION}-curl \
5661
php${PHP_VERSION}-mbstring \
57-
php${PHP_VERSION}-opcache \
62+
${OPCACHE_PACKAGE} \
5863
php${PHP_VERSION}-readline \
5964
php${PHP_VERSION}-xml \
6065
php${PHP_VERSION}-zip \

Dockerfile.slim.fpm

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,12 +49,17 @@ RUN apt update \
4949
openssh-client \
5050
&& apt clean \
5151
&& rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* /usr/share/doc/*
52-
RUN apt update \
52+
# Note: From PHP 8.5, opcache is built-in and php${PHP_VERSION}-opcache package doesn't exist
53+
RUN OPCACHE_PACKAGE="" \
54+
&& if [ "${PHP_VERSION}" != "8.5" ]; then \
55+
OPCACHE_PACKAGE="php${PHP_VERSION}-opcache"; \
56+
fi \
57+
&& apt update \
5358
&& apt install -y --no-install-recommends \
5459
php${PHP_VERSION}-cli \
5560
php${PHP_VERSION}-curl \
5661
php${PHP_VERSION}-mbstring \
57-
php${PHP_VERSION}-opcache \
62+
${OPCACHE_PACKAGE} \
5863
php${PHP_VERSION}-readline \
5964
php${PHP_VERSION}-xml \
6065
php${PHP_VERSION}-zip \

Makefile

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ blueprint: ## Generate all blueprints file
44
@if ! type orbit >/dev/null 2>&1; then echo "Missing orbit dependency, please install from https://github.com/gulien/orbit/"; exit 1; fi
55
orbit run generate
66

7-
test-latest: test-8.4 ## Test the latest build only
7+
test-latest: test-8.5 ## Test the latest build only
88

99
_test-prerequisites: blueprint
1010
docker pull ubuntu:20.04
@@ -18,10 +18,11 @@ test-legacy-quick: ## Test 7.4, 8.0 and 8.1 quickly
1818
VERSION=7.4 VARIANT=cli $(MAKE) _test-version-quick
1919
VERSION=8.0 VARIANT=cli $(MAKE) _test-version-quick
2020
VERSION=8.1 VARIANT=cli $(MAKE) _test-version-quick
21-
test-quick: ## Test 8.2, 8.3 and 8.4 quickly
21+
test-quick: ## Test 8.2, 8.3, 8.4 and 8.5 quickly
2222
VERSION=8.2 VARIANT=cli $(MAKE) _test-version-quick
2323
VERSION=8.3 VARIANT=cli $(MAKE) _test-version-quick
2424
VERSION=8.4 VARIANT=cli $(MAKE) _test-version-quick
25+
VERSION=8.5 VARIANT=cli $(MAKE) _test-version-quick
2526

2627
test-8.3: ## Test php8.3 build only
2728
VERSION=8.3 VARIANT=cli $(MAKE) _test-version
@@ -38,6 +39,11 @@ test-8.1: ## Test php8.1 build only
3839
VERSION=8.1 VARIANT=apache $(MAKE) _test-version
3940
VERSION=8.1 VARIANT=fpm $(MAKE) _test-version
4041

42+
test-8.5: ## Test php8.5 build only
43+
VERSION=8.5 VARIANT=cli $(MAKE) _test-version
44+
VERSION=8.5 VARIANT=apache $(MAKE) _test-version
45+
VERSION=8.5 VARIANT=fpm $(MAKE) _test-version
46+
4147
test-8.4: ## Test php8.4 build only
4248
VERSION=8.4 VARIANT=cli $(MAKE) _test-version
4349
VERSION=8.4 VARIANT=apache $(MAKE) _test-version

README.md

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,23 @@ This repository contains a set of developer-friendly, general purpose PHP images
2020

2121

2222

23-
| Name | PHP version | type |variant | NodeJS version | Size
23+
| Name | PHP version | type |variant | NodeJS version | Size
2424
|-------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------|--------|-----------------|------
25+
| [thecodingmachine/php:8.5-v5-apache](https://github.com/thecodingmachine/docker-images-php/blob/v5/Dockerfile.apache) | `8.5.x` | fat | apache | *N/A* | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.5-v5-apache.svg)](https://microbadger.com/images/thecodingmachine/php:8.5-v5-apache)
26+
| [thecodingmachine/php:8.5-v5-apache-node20](https://github.com/thecodingmachine/docker-images-php/blob/v5/Dockerfile.apache.node) | `8.5.x` | fat | apache | `20.x` | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.5-v5-apache-node20.svg)](https://microbadger.com/images/thecodingmachine/php:8.5-v5-apache-node20)
27+
| [thecodingmachine/php:8.5-v5-apache-node22](https://github.com/thecodingmachine/docker-images-php/blob/v5/Dockerfile.apache.node) | `8.5.x` | fat | apache | `22.x` | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.5-v5-apache-node22.svg)](https://microbadger.com/images/thecodingmachine/php:8.5-v5-apache-node22)
28+
| [thecodingmachine/php:8.5-v5-apache-node24](https://github.com/thecodingmachine/docker-images-php/blob/v5/Dockerfile.apache.node) | `8.5.x` | fat | apache | `24.x` | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.5-v5-apache-node24.svg)](https://microbadger.com/images/thecodingmachine/php:8.5-v5-apache-node24)
29+
| [thecodingmachine/php:8.5-v5-fpm](https://github.com/thecodingmachine/docker-images-php/blob/v5/Dockerfile.fpm) | `8.5.x` | fat | fpm | *N/A* | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.5-v5-fpm.svg)](https://microbadger.com/images/thecodingmachine/php:8.5-v5-fpm)
30+
| [thecodingmachine/php:8.5-v5-fpm-node20](https://github.com/thecodingmachine/docker-images-php/blob/v5/Dockerfile.fpm.node) | `8.5.x` | fat | fpm | `20.x` | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.5-v5-fpm-node20.svg)](https://microbadger.com/images/thecodingmachine/php:8.5-v5-fpm-node20)
31+
| [thecodingmachine/php:8.5-v5-fpm-node22](https://github.com/thecodingmachine/docker-images-php/blob/v5/Dockerfile.fpm.node) | `8.5.x` | fat | fpm | `22.x` | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.5-v5-fpm-node22.svg)](https://microbadger.com/images/thecodingmachine/php:8.5-v5-fpm-node22)
32+
| [thecodingmachine/php:8.5-v5-fpm-node24](https://github.com/thecodingmachine/docker-images-php/blob/v5/Dockerfile.fpm.node) | `8.5.x` | fat | fpm | `24.x` | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.5-v5-fpm-node24.svg)](https://microbadger.com/images/thecodingmachine/php:8.5-v5-fpm-node24)
33+
| [thecodingmachine/php:8.5-v5-cli](https://github.com/thecodingmachine/docker-images-php/blob/v5/Dockerfile.cli) | `8.5.x` | fat | cli | *N/A* | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.5-v5-cli.svg)](https://microbadger.com/images/thecodingmachine/php:8.5-v5-cli)
34+
| [thecodingmachine/php:8.5-v5-cli-node20](https://github.com/thecodingmachine/docker-images-php/blob/v5/Dockerfile.cli.node) | `8.5.x` | fat | cli | `20.x` | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.5-v5-cli-node20.svg)](https://microbadger.com/images/thecodingmachine/php:8.5-v5-cli-node20)
35+
| [thecodingmachine/php:8.5-v5-cli-node22](https://github.com/thecodingmachine/docker-images-php/blob/v5/Dockerfile.cli.node) | `8.5.x` | fat | cli | `22.x` | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.5-v5-cli-node22.svg)](https://microbadger.com/images/thecodingmachine/php:8.5-v5-cli-node22)
36+
| [thecodingmachine/php:8.5-v5-cli-node24](https://github.com/thecodingmachine/docker-images-php/blob/v5/Dockerfile.cli.node) | `8.5.x` | fat | cli | `24.x` | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.5-v5-cli-node24.svg)](https://microbadger.com/images/thecodingmachine/php:8.5-v5-cli-node24)
37+
| [thecodingmachine/php:8.5-v5-slim-apache](https://github.com/thecodingmachine/docker-images-php/blob/v5/Dockerfile.slim.apache) | `8.5.x` | slim | apache | *N/A* | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.5-v5-slim-apache.svg)](https://microbadger.com/images/thecodingmachine/php:8.5-v5-slim-apache)
38+
| [thecodingmachine/php:8.5-v5-slim-fpm](https://github.com/thecodingmachine/docker-images-php/blob/v5/Dockerfile.slim.fpm) | `8.5.x` | slim | fpm | *N/A* | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.5-v5-slim-fpm.svg)](https://microbadger.com/images/thecodingmachine/php:8.5-v5-slim-fpm)
39+
| [thecodingmachine/php:8.5-v5-slim-cli](https://github.com/thecodingmachine/docker-images-php/blob/v5/Dockerfile.slim.cli) | `8.5.x` | slim | cli | *N/A* | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.5-v5-slim-cli.svg)](https://microbadger.com/images/thecodingmachine/php:8.5-v5-slim-cli)
2540
| [thecodingmachine/php:8.4-v5-apache](https://github.com/thecodingmachine/docker-images-php/blob/v5/Dockerfile.apache) | `8.4.x` | fat | apache | *N/A* | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.4-v5-apache.svg)](https://microbadger.com/images/thecodingmachine/php:8.4-v5-apache)
2641
| [thecodingmachine/php:8.4-v5-apache-node20](https://github.com/thecodingmachine/docker-images-php/blob/v5/Dockerfile.apache.node) | `8.4.x` | fat | apache | `20.x` | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.4-v5-apache-node20.svg)](https://microbadger.com/images/thecodingmachine/php:8.4-v5-apache-node20)
2742
| [thecodingmachine/php:8.4-v5-apache-node22](https://github.com/thecodingmachine/docker-images-php/blob/v5/Dockerfile.apache.node) | `8.4.x` | fat | apache | `22.x` | [![](https://images.microbadger.com/badges/image/thecodingmachine/php:8.4-v5-apache-node22.svg)](https://microbadger.com/images/thecodingmachine/php:8.4-v5-apache-node22)
@@ -151,8 +166,7 @@ This list can be outdated, you can verify by executing : `docker run --rm -it th
151166
**Note**:
152167

153168
- *ev* is not available in PHP 8.1+
154-
- *rdkafka* and *snmp* are not available in all `ARM64` images (build time is too long : it's possible to install manually as required)
155-
- *blackfire* not supported yet in PHP8.4 : https://support.blackfire.platform.sh/hc/en-us/articles/4740726712082-PHP-versions-Platforms-support
169+
- *rdkafka* and *snmp* are not available in all `ARM64` images (build time is too long : it's possible to install manually as required)
156170

157171
### Enabling/disabling extensions in the fat image
158172

0 commit comments

Comments
 (0)