Sign inSign up

winterhearted/php-fpm

By winterhearted

Updated about 6 hours ago

php-fpm, batteries included

Image
Languages & frameworks
0

10K+

winterhearted/php-fpm repository overview

php-fpm, batteries included

PHP-FPM with the extensions you'd end up installing anyway, already in. Tune it with env vars instead of baking your own ini files. PHP 5.3 through 8.5.

Built at the byte0.org lab for internal use at Pantera.kz, a web studio. Public because there's no reason not to be.

Run it

docker run -d -v $(pwd):/var/www/html winterhearted/php-fpm:8.4

Listens on 9000, serves from /var/www/html. Point nginx at it, done.

Tags

8.5 8.4 8.3 8.2 8.1 — pick one.

8.0 7.4 7.3 7.2 7.1 7.0 5.6 5.5 5.4 5.3 — EOL, kept for old projects. The 5.x ones are built from source.

Each has a -latest alias and exact patches too (8.4.23). amd64, arm64, riscv64.

-vips

8.5-vips 8.4-vips 8.3-vips 8.2-vips — same image plus libvips and FFI turned on. Also as 8.4-latest-vips, 8.4.23-vips, etc.

Use it with php-vips 2.x, which talks to the library over FFI. The old pecl vips extension has been dead since PHP 8.0, so it's not here.

libvips isn't small and most projects don't need it, hence the separate tag — the plain images stay lean.

Knobs

VarSets
PHP_DATE_TIMEZONEdate.timezone
PHP_MEMORY_LIMITmemory_limit, e.g. 256M
PHP_MAX_EXECUTION_TIMEseconds
PHP_MAX_INPUT_TIMEseconds
PHP_POST_MAX_SIZEe.g. 100M
PHP_UPLOAD_MAX_FILESIZEe.g. 100M
PHP_ENABLE_OPCACHE1/0, CLI included
PHP_ENABLE_JIT1/0, 8.0+

Leave one unset and you get PHP's default. Each just drops a file into conf.d/, nothing clever going on.

What's inside

pdo (mysql / pgsql / sqlite), mysqli, gd with jpeg/png/webp/avif/freetype, imagick, opcache, intl, zip, bcmath, exif, soap, mbstring, curl, openssl, sodium, and the usual dom/xml set.

Run php -m if you want the exact list for a given tag.

Heads up

8.2–8.5 are built in two stages: extensions get compiled in a throwaway builder, the final image is plain Debian plus the finished PHP. Much smaller, but no compiler in there — docker-php-ext-install in a derived image won't work. Everything you'd normally add is already baked in.

MIT

Tag summary

Content type

Image

Digest

sha256:a6cda73eb

Size

123.4 MB

Last updated

about 6 hours ago

docker pull winterhearted/php-fpm:8.5-latest-vips