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.
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.3or:8.4and run the same job matrix everywhere. An opt-in:8.4-deploytag adds rsync and SSH for deploy stages. - 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
| Layer | Included |
|---|---|
| Runtime | PHP 8.1 / 8.2 / 8.3 / 8.4 (CLI) |
| Dependency manager | Composer 2 |
| Testing | Your project's test tools via Composer (./vendor/bin/*) |
| Quality | Your project's QA tools via Composer (./vendor/bin/*) |
| Extensions | mbstring, 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
- Quick Start — run your first build in under a minute.
- Installation — image variants, pinning and local usage.
- Deploy Variant — opt-in
8.4-deployimage with rsync and OpenSSH client. - GitHub Actions — copy-paste a working workflow.
- Guides — PHPStan, code coverage, migration from setup-php, troubleshooting, and security.
- TYPO3 / Laravel — framework-specific recipes.
Project links
- GitHub: github.com/himanshuramavat/php-ci
- Docker Hub: hub.docker.com/r/himanshuramavat/php-ci
- License: MIT