Skip to main content

Introduction

php-ci is a reusable Docker image purpose-built for running PHP test and build pipelines. It bundles PHP 8.1 through 8.4, Composer 2, and the PHP extensions and system libraries commonly needed to test TYPO3 extensions and Laravel applications — so your CI configuration stays a few lines long instead of dozens.

Production-ready reusable PHP CI Docker image. Built for TYPO3, Laravel and modern PHP projects.

Why php-ci?

Most teams end up copying a long apt-get install + docker-php-ext-install block into every pipeline, then maintaining it forever. php-ci replaces that with a single, version-pinned image that is already warm with the extensions, tools and configuration a typical PHP CI run needs.

  • One image, every PHP version. Pull :8.1, :8.2, :8.3 or :8.4 and run the same job matrix everywhere.
  • Fast cold starts. Extensions and tools are baked in, so jobs spend time testing rather than installing.
  • CI-provider agnostic. The same image works on GitHub Actions, GitLab CI and Bitbucket Pipelines.
  • Framework aware. Includes the database drivers (including SQLite) and common extensions frameworks expect.

What's inside

LayerIncluded
RuntimePHP 8.1 / 8.2 / 8.3 / 8.4 (CLI)
Dependency managerComposer 2
TestingYour project's test tools via Composer (./vendor/bin/*)
QualityYour project's QA tools via Composer (./vendor/bin/*)
Extensionsmbstring, intl, pdo_mysql, pdo_pgsql, gd, zip, xml, opcache, and more

See the full inventory under Included Tools and PHP Extensions.

Pull the image

# Moving alias (currently PHP 8.4)
docker pull himanshuramavat/php-ci:latest

# A specific PHP version
docker pull himanshuramavat/php-ci:8.4

Where to go next