PHP 8.1 – 8.4
Every supported PHP minor line as its own pinnable tag. Run the same job matrix across :8.1, :8.2, :8.3 and :8.4.
Composer 2 built in
Composer 2 is preinstalled and tuned for non-interactive CI, with cache directory overrides for fast, repeatable dependency installs.
CI/CD ready
Extensions and tools are baked in, so jobs spend their time testing — not running apt-get install on every pipeline.
GitHub Actions friendly
Use as a job container — no setup-php step. Migrating from setup-php?
TYPO3 testing
Includes the database drivers (including SQLite) and common extensions TYPO3 unit and functional tests expect out of the box.
PHPUnit & quality tools
Install PHPUnit, PHPStan and friends via Composer, then run ./vendor/bin/*. See the PHPStan guide to get started.
GitHub Actions in seconds
A complete, working workflow — checkout, install, test. No setup-php step required.
name: CI
on: [push, pull_request]
jobs:
test:
runs-on: ubuntu-latest
container:
image: himanshuramavat/php-ci:8.3
steps:
- uses: actions/checkout@v4
- run: composer install --no-interaction --no-progress --prefer-dist
- run: ./vendor/bin/phpunit
TYPO3
Run unit and functional tests with SQLite, MySQL or PostgreSQL. The database drivers and common prerequisites are already in the image. Use :8.4-deploy for rsync-based deploy jobs.
Laravel
Run php artisan test, PHPUnit or Pest against an in-memory SQLite database or a MySQL service — every extension Laravel needs is enabled out of the box.
Supported Versions
| PHP version | Image tag | Status |
|---|---|---|
| PHP 8.4 | himanshuramavat/php-ci:8.4 | Active — newest |
| PHP 8.4 deploy | himanshuramavat/php-ci:8.4-deploy | Opt-in — rsync + SSH |
| PHP 8.3 | himanshuramavat/php-ci:8.3 (:latest) | Active — recommended |
| PHP 8.2 | himanshuramavat/php-ci:8.2 | Security fixes |
| PHP 8.1 | himanshuramavat/php-ci:8.1 | Security fixes |
Ready in under a minute
New to php-ci? Start with the Quick Start guide, or jump straight to your CI provider and framework docs.