Skip to content

Images

All target images are based on a common base image that is build with the following binaries and extensions:

Binaries

composer:2.8
mlocati/php-extension-installer:2.8

PHP extensions

mysqli
pdo_mysql
exif
ftp
gd
opcache
soap
zip
intl
gettext
sysvsem
amqp
redis
pcntl

Working directory

/app

Target Targets

Base

Contains additional libraries that are useful for a majority of projects.

zip
unzip

Container

ghcr.io/toshy/php:8.5-fpm-trixie

FFmpeg

Contains additional libraries that are useful for audio, video and image processing.

ffmpeg
mkvtoolnix
libimage-exiftool-perl

Container suffixed with -ffmpeg

ghcr.io/toshy/php:8.5-fpm-trixie-ffmpeg

Info

  • ffmpeg: A complete, cross-platform solution to record, convert and stream audio and video.
  • mkvtoolnix: MKVToolNix is a set of tools to create, alter and inspect Matroska files under Linux, other Unices and Windows.
  • libimage-exiftool-perl: A library and program to read and write meta information in multimedia files.

Note

The ffmpeg image inherits the libraries from the base image.

OTEL

Contains additional OpenTelemetry PHP extensions for observability. Uses the http/protobuf transport, which is fork-safe and works with PHP-FPM without any additional extensions.

opentelemetry
protobuf

Container suffixed with -otel

ghcr.io/toshy/php:8.5-fpm-trixie-otel

Info

  • opentelemetry: High-quality, ubiquitous, and portable telemetry to enable effective observability.
  • protobuf: Significant performance improvement for http/protobuf OTLP exporting.

Note

The otel image inherits the libraries from the base image.

OTEL + FFmpeg

Combines the otel PHP extensions with the ffmpeg media-processing libraries in a single image, useful when an observability-instrumented PHP service also needs audio/video/image tooling.

PHP extensions (in addition to common):

opentelemetry
protobuf

Libraries (in addition to common):

zip
unzip
ffmpeg
mkvtoolnix
libimage-exiftool-perl

Container suffixed with -otel-ffmpeg

ghcr.io/toshy/php:8.5-fpm-trixie-otel-ffmpeg

Note

The otel-ffmpeg image inherits the libraries from the base image and combines the additions of the ffmpeg and otel targets.

OTEL (gRPC)

Extends the otel image with the grpc PHP extension for services that use the grpc OTLP transport.

opentelemetry
protobuf
grpc

Container suffixed with -otel-grpc

ghcr.io/toshy/php:8.5-fpm-trixie-otel-grpc

Info

  • grpc: A modern, open source, high-performance remote procedure call (RPC) framework that can run anywhere.

Warning

ext-grpc initialises background threads at extension load time. Under PHP-FPM, which uses fork() to spawn workers, this can cause mutex corruption in long-running workers (SIGABRT from abseil's mutex.cc). This image is intended for PHP CLI / Messenger consumers that do not fork. For PHP-FPM use the otel image with http/protobuf transport instead.

Note

The otel-grpc image inherits the libraries from the base image and the extensions from the otel target.

OTEL (gRPC) + FFmpeg

Combines the otel-grpc PHP extensions with the ffmpeg media-processing libraries.

PHP extensions (in addition to common):

opentelemetry
protobuf
grpc

Libraries (in addition to common):

zip
unzip
ffmpeg
mkvtoolnix
libimage-exiftool-perl

Container suffixed with -otel-grpc-ffmpeg

ghcr.io/toshy/php:8.5-fpm-trixie-otel-grpc-ffmpeg

Warning

See the gRPC warning in the otel-grpc section above.

Note

The otel-grpc-ffmpeg image inherits the libraries from the base image and combines the additions of the ffmpeg and otel-grpc targets.