Skip to content

Commit 595f781

Browse files
authored
[5.x] Get ready for PHP 8.5 (#384)
feat: use PHP 8.5 for the latest tags
1 parent d87eddf commit 595f781

42 files changed

Lines changed: 83 additions & 82 deletions

Some content is hidden

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

.github/workflows/build-all.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -78,10 +78,10 @@ jobs:
7878
distros=(debian alpine)
7979
variants=(cli fpm zts)
8080
base_images=(phpfpm-nginx phpfpm-apache laravel)
81-
php_versions=(8.5-rc 8.4 8.3 8.2 8.1)
81+
php_versions=(8.5 8.4 8.3 8.2)
8282
8383
if [ -n "$build_all" ]; then
84-
php_versions+=(8.0 7.4 7.3 7.2 7.1 7.0 5.6)
84+
php_versions+=(8.1 8.0 7.4 7.3 7.2 7.1 7.0 5.6)
8585
fi
8686
8787
get_sha() {
@@ -256,10 +256,10 @@ jobs:
256256
257257
distros=(debian alpine)
258258
base_images=(phpfpm-nginx phpfpm-apache roadrunner laravel)
259-
php_versions=(8.5-rc 8.4 8.3 8.2 8.1)
259+
php_versions=(8.5 8.4 8.3 8.2)
260260
261261
if [ "$build_all" = "true" ]; then
262-
php_versions+=(8.0 7.4 7.3 7.2 7.1 7.0 5.6)
262+
php_versions+=(8.1 8.0 7.4 7.3 7.2 7.1 7.0 5.6)
263263
fi
264264
265265
get_sha() {

.github/workflows/template-php.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ jobs:
5555
strategy:
5656
fail-fast: false
5757
matrix:
58-
php_version: ["8.4", "8.3", "8.2", "8.1"]
58+
php_version: ["8.5", "8.4", "8.3", "8.2"]
5959
os: ["", "alpine"]
6060
with:
6161
os: ${{ matrix.os }}
@@ -71,7 +71,7 @@ jobs:
7171
strategy:
7272
fail-fast: false
7373
matrix:
74-
php_version: ["8.0", "7.4", "7.3", "7.2", "7.1", "7.0", "5.6"]
74+
php_version: ["8.1", "8.0", "7.4", "7.3", "7.2", "7.1", "7.0", "5.6"]
7575
os: ["", "alpine"]
7676
exclude:
7777
- os: "alpine"

CHANGELOG.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,9 @@
33
All notable changes to this project will be documented in this file.
44

55

6-
## [5.6.0] - XXXX-XX-XX
6+
## [5.6.0] - 2025-11-20
77

8+
- Use [PHP 8.5](https://www.php.net/ChangeLog-8.php#PHP_8_5) for the latest tags.
89
- Introducing [Hooks](https://github.com/shinsenter/php?tab=readme-ov-file#hooks).
910
- Added Docker images for PHP versions [8.5](https://hub.docker.com/r/shinsenter/php/tags?name=8.5).
1011
- Added Docker images for [Bagisto](http://hub.docker.com/r/shinsenter/bagisto).

README.md

Lines changed: 30 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -51,17 +51,17 @@ This setup allows for faster project initiation without additional installations
5151

5252
## Docker Image Variants
5353

54-
Our image tags cover PHP versions from 5.6 to 8.5 (beta),
54+
Our image tags cover PHP versions from 5.6 to 8.5,
5555
available in `cli`, `zts`, `fpm`, `fpm-nginx`, `fpm-apache`, `roadrunner`<sup>(1)</sup>, and `frankenphp`<sup>(2)</sup> variants. The Docker images are available for both Debian and Alpine versions.
5656

5757
Examples:
58-
- `shinsenter/php:7.2-cli`
59-
- `shinsenter/php:7.3-zts`
60-
- `shinsenter/php:7.4-fpm`
61-
- `shinsenter/php:8.0-fpm-apache`
62-
- `shinsenter/php:8.1-fpm-nginx`
63-
- `shinsenter/php:8.2-roadrunner` <sup>(1)</sup>
64-
- `shinsenter/php:8.3-frankenphp` <sup>(2)</sup>
58+
- `shinsenter/php:8.3-cli`
59+
- `shinsenter/php:8.4-zts`
60+
- `shinsenter/php:8.5-fpm`
61+
- `shinsenter/php:8.1-fpm-apache`
62+
- `shinsenter/php:8.2-fpm-nginx`
63+
- `shinsenter/php:8.3-roadrunner` <sup>(1)</sup>
64+
- `shinsenter/php:8.4-frankenphp` <sup>(2)</sup>
6565

6666
> <sup>(1)</sup>: PHP with RoadRunner server. The `roadrunner` variant supports PHP >= 8.0.<br>
6767
> <sup>(2)</sup>: FrankenPHP is still in BETA. The `frankenphp` variant supports PHP >= 8.2.<br>
@@ -78,34 +78,34 @@ You can easily run a container by copying and pasting one of these `docker run`
7878

7979
```shell
8080
# non-interactive
81-
docker run --rm shinsenter/php:8.4-cli php -m
81+
docker run --rm shinsenter/php:8.5-cli php -m
8282

8383
# interactive
84-
docker run -it -v ./myproject:/var/www/html shinsenter/php:8.4-cli
84+
docker run -it -v ./myproject:/var/www/html shinsenter/php:8.5-cli
8585
```
8686

8787

8888
#### PHP-FPM <!-- omit from toc -->
8989

9090
```shell
91-
docker run -v ./myproject:/var/www/html -p 9000:9000 shinsenter/php:8.4-fpm
91+
docker run -v ./myproject:/var/www/html -p 9000:9000 shinsenter/php:8.5-fpm
9292
```
9393

9494

9595
#### PHP-FPM + Nginx (or Apache, RoadRunner, FrankenPHP) <!-- omit from toc -->
9696

9797
```shell
9898
# with Nginx
99-
docker run -v ./myproject:/var/www/html -p 80:80 -p 443:443 shinsenter/php:8.4-fpm-nginx
99+
docker run -v ./myproject:/var/www/html -p 80:80 -p 443:443 shinsenter/php:8.5-fpm-nginx
100100

101101
# with Apache
102-
docker run -v ./myproject:/var/www/html -p 80:80 -p 443:443 shinsenter/php:8.4-fpm-apache
102+
docker run -v ./myproject:/var/www/html -p 80:80 -p 443:443 shinsenter/php:8.5-fpm-apache
103103

104104
# with RoadRunner
105-
docker run -v ./myproject:/var/www/html -p 80:80 -p 443:443 shinsenter/php:8.3-roadrunner
105+
docker run -v ./myproject:/var/www/html -p 80:80 -p 443:443 shinsenter/php:8.4-roadrunner
106106

107107
# with FrankenPHP
108-
docker run -v ./myproject:/var/www/html -p 80:80 -p 443:443 shinsenter/php:8.3-frankenphp
108+
docker run -v ./myproject:/var/www/html -p 80:80 -p 443:443 shinsenter/php:8.4-frankenphp
109109
```
110110

111111

@@ -141,7 +141,7 @@ docker run \
141141
-e PHP_POST_MAX_SIZE='100M' \
142142
-e PHP_UPLOAD_MAX_FILESIZE='100M' \
143143
-e PHP_SESSION_COOKIE_HTTPONLY='1' \
144-
shinsenter/php:8.4 php -i
144+
shinsenter/php:8.5 php -i
145145
```
146146

147147

@@ -150,7 +150,7 @@ docker run \
150150
```yaml
151151
services:
152152
web:
153-
image: shinsenter/php:8.4-fpm-nginx
153+
image: shinsenter/php:8.5-fpm-nginx
154154
environment:
155155
PHP_DISPLAY_ERRORS: "1"
156156
PHP_POST_MAX_SIZE: "100M"
@@ -201,8 +201,8 @@ zip
201201

202202
> 👉🏻 Info: The pre-installed PHP extensions from the official Docker images are excluded from this list.
203203

204-
> 💡 Hint: Run `docker run --rm shinsenter/php:8.4-cli php -m` in the container
205-
to get a list of extensions (you can replace `8.4` with a specific PHP version).
204+
> 💡 Hint: Run `docker run --rm shinsenter/php:8.5-cli php -m` in the container
205+
to get a list of extensions (you can replace `8.5` with a specific PHP version).
206206

207207

208208
## Adding PHP Extensions
@@ -215,7 +215,7 @@ or manually edit the `php.ini` file; `phpaddmod` handles the installation and co
215215
For example, in your `Dockerfile`:
216216

217217
```Dockerfile
218-
FROM shinsenter/php:8.4-fpm-nginx
218+
FROM shinsenter/php:8.5-fpm-nginx
219219
220220
# Install imagick, swoole and xdebug
221221
RUN phpaddmod imagick swoole xdebug
@@ -240,7 +240,7 @@ The default application directory is `/var/www/html` and can be customized via t
240240
docker run -p 80:80 -p 443:443 -p 443:443/udp \
241241
-v "$PWD":/app \
242242
-e APP_PATH=/app \
243-
shinsenter/php:8.4-fpm-nginx
243+
shinsenter/php:8.5-fpm-nginx
244244
```
245245

246246
This changes the web application directory to `/app`.
@@ -254,7 +254,7 @@ docker run -p 80:80 -p 443:443 -p 443:443/udp \
254254
-v "$PWD":/app \
255255
-e APP_PATH=/app \
256256
-e DOCUMENT_ROOT=public \
257-
shinsenter/php:8.4-fpm-nginx
257+
shinsenter/php:8.5-fpm-nginx
258258
```
259259

260260
This would change the document root path to `/app/public`.
@@ -279,14 +279,14 @@ For example, to run a container as user `myapp` with UID `5000`:
279279
docker run -p 80:80 -p 443:443 -p 443:443/udp \
280280
-e APP_USER=myapp \
281281
-e APP_UID=5000 \
282-
shinsenter/php:8.4-fpm-nginx
282+
shinsenter/php:8.5-fpm-nginx
283283
```
284284

285285
Or in a `docker-compose.yml`:
286286
```yaml
287287
services:
288288
web:
289-
image: shinsenter/php:8.4-fpm-nginx
289+
image: shinsenter/php:8.5-fpm-nginx
290290
environment:
291291
APP_USER: "myapp"
292292
APP_UID: "5000"
@@ -326,7 +326,7 @@ Copy a script called `00-migration` into `/startup/` via a Dockerfile:
326326
> Note: Ensure the script has executable permissions.
327327

328328
```Dockerfile
329-
FROM shinsenter/php:8.4-cli
329+
FROM shinsenter/php:8.5-cli
330330
331331
ADD ./autorun/00-migration /startup/00-migration
332332
RUN chmod +x /startup/00-migration
@@ -403,7 +403,7 @@ When the container starts, these settings are loaded into crontab, giving you mo
403403
```yml
404404
services:
405405
web:
406-
image: shinsenter/php:8.4-fpm-nginx
406+
image: shinsenter/php:8.5-fpm-nginx
407407
environment:
408408
ENABLE_CRONTAB: "1"
409409
CRONTAB_SETTINGS: "* * * * * echo 'This line will run every minute!' | tee /tmp/cron-every-minute.txt"
@@ -423,7 +423,7 @@ This environment variable will contain the command that the container will use t
423423
```shell
424424
docker run \
425425
-e SUPERVISOR_PHP_COMMAND='php -S localhost:80 index.php' \
426-
shinsenter/php:8.4
426+
shinsenter/php:8.5
427427
```
428428

429429

@@ -432,7 +432,7 @@ docker run \
432432
```yml
433433
services:
434434
web:
435-
image: shinsenter/php:8.4
435+
image: shinsenter/php:8.5
436436
environment:
437437
SUPERVISOR_PHP_COMMAND: "php -S localhost:80 index.php"
438438
```
@@ -473,7 +473,7 @@ This can be used both with `docker run` and in `docker-compose.yml`.
473473
#### Command Line <!-- omit from toc -->
474474

475475
```shell
476-
docker run -e DEBUG=1 shinsenter/php:8.4-fpm-nginx
476+
docker run -e DEBUG=1 shinsenter/php:8.5-fpm-nginx
477477
```
478478

479479

@@ -482,7 +482,7 @@ docker run -e DEBUG=1 shinsenter/php:8.4-fpm-nginx
482482
```yml
483483
services:
484484
web:
485-
image: shinsenter/php:8.4-fpm-nginx
485+
image: shinsenter/php:8.5-fpm-nginx
486486
environment:
487487
DEBUG: "1"
488488
```

build/config.sh

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -190,7 +190,7 @@ OS="$1"; APP="$2"; PHP_VERSION="$3"; PREFER_SERVER="$4"
190190
################################################################################
191191
# Build environment variables
192192
################################################################################
193-
LATEST_PHP="8.4"
193+
LATEST_PHP="8.5"
194194
LATEST_S6=
195195

196196
PHP_VARIANT="${PHP_VARIANT:-}"
@@ -432,9 +432,9 @@ if [ -n "$PHP_VERSION" ]; then
432432
expand_tags ":php7.4" ":php7"
433433
expand_tags ":7.4" ":7"
434434
;;
435-
8.4)
436-
expand_tags ":php8.4" ":php8"
437-
expand_tags ":8.4" ":8"
435+
8.5)
436+
expand_tags ":php8.5" ":php8"
437+
expand_tags ":8.5" ":8"
438438
;;
439439
"$LATEST_PHP")
440440
major=${PHP_VERSION%%.*}

src/php/base-php.dockerfile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,14 +13,14 @@ ARG BUILDKIT_SBOM_SCAN_STAGE=true
1313

1414
################################################################################
1515
ARG BUILD_FROM_IMAGE="php"
16-
ARG PHP_VERSION="8.4"
16+
ARG PHP_VERSION="8.5"
1717
ARG PHP_VARIANT="fpm-alpine"
1818

1919
FROM ${BUILD_FROM_IMAGE}:${PHP_VERSION}-${PHP_VARIANT}
2020
ARG DEBUG
2121

2222
# set PHP variables
23-
ARG PHP_VERSION="8.4"
23+
ARG PHP_VERSION="8.5"
2424
ENV PHP_VERSION=${PHP_VERSION//-rc/}
2525

2626
################################################################################

src/php/with-apache.dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ ARG BUILDKIT_SBOM_SCAN_STAGE=true
1515
ARG BUILD_FROM_IMAGE="shinsenter/php"
1616
ARG BUILD_TAG_PREFIX=""
1717

18-
ARG PHP_VERSION="8.4"
18+
ARG PHP_VERSION="8.5"
1919
ARG PHP_VARIANT="fpm-alpine"
2020

2121
FROM ${BUILD_FROM_IMAGE}:${BUILD_TAG_PREFIX}${PHP_VERSION//-rc/}-${PHP_VARIANT}

src/php/with-f8p.dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ ARG BUILDKIT_SBOM_SCAN_STAGE=true
1515
ARG BUILD_FROM_IMAGE="shinsenter/php"
1616
ARG BUILD_TAG_PREFIX=""
1717

18-
ARG PHP_VERSION="8.4"
18+
ARG PHP_VERSION="8.5"
1919
ARG PHP_VARIANT="zts-alpine"
2020
ARG BUILD_SOURCE_IMAGE="dunglas/frankenphp:1-php8.4-alpine"
2121

src/php/with-nginx.dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ ARG BUILDKIT_SBOM_SCAN_STAGE=true
1515
ARG BUILD_FROM_IMAGE="shinsenter/php"
1616
ARG BUILD_TAG_PREFIX=""
1717

18-
ARG PHP_VERSION="8.4"
18+
ARG PHP_VERSION="8.5"
1919
ARG PHP_VARIANT="fpm-alpine"
2020

2121
FROM ${BUILD_FROM_IMAGE}:${BUILD_TAG_PREFIX}${PHP_VERSION//-rc/}-${PHP_VARIANT}

src/php/with-roadrunner.dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ ARG BUILDKIT_SBOM_SCAN_STAGE=true
1515
ARG BUILD_FROM_IMAGE="shinsenter/php"
1616
ARG BUILD_TAG_PREFIX=""
1717

18-
ARG PHP_VERSION="8.4"
18+
ARG PHP_VERSION="8.5"
1919
ARG PHP_VARIANT="cli-alpine"
2020

2121
FROM ${BUILD_FROM_IMAGE}:${BUILD_TAG_PREFIX}${PHP_VERSION//-rc/}-${PHP_VARIANT}

0 commit comments

Comments
 (0)