A set of PHP_CodeSniffer rules that flags code using PHP features or functions that break on other PHP versions.
jakzal/phpqa
A Docker image bundling many PHP static analysis, testing and code-quality tools so you can run them without installing PHP tooling locally.
- Stars
- 1,320
- Forks
- 68
- Open issues
- 1
- Last commit
- 4 days ago
What is it?
phpqa is a Docker image that packages a large set of PHP quality tools, including PHPStan, Psalm, PHP_CodeSniffer, PHP-CS-Fixer, PHPMD, PHPUnit, Rector and Deptrac. The image is built from the jakzal/toolbox repository, which manages the tool list and installer.
Running a tool means mounting your project into the container with a volume flag and calling the tool by name, for example `phpqa phpstan analyse src`. The image is published in Debian and Alpine variants and for several PHP versions, with tags pinned to specific releases or updated daily.
The image lists its available tools when run with no arguments, and it includes a cookbook with usage tips. Tools that are not bundled, such as exakat, are noted with instructions for running them separately.
Key features
- 01Bundles dozens of PHP static analysis, linting, testing and refactoring tools in one image.
- 02Provides Debian and Alpine base images for several PHP versions.
- 03Runs tools against a mounted project directory without local installation.
- 04Offers pinned, patch-level and daily-updated image tags.
- 05Lists available tools when run with no arguments.
Use cases
- Running PHPStan or Psalm in CI without setting up PHP on the build agent.
- Checking coding standards with PHP-CS-Fixer or PHP_CodeSniffer across a team with different local setups.
- Trying out several PHP analysis tools on a project before choosing which to adopt.
Quick start
- 1
Pick an image tag such as latest or php8.5 from the Docker Hub repository
- 2
Run the image with Docker to use the bundled PHP tools
Things to know
- Requires Docker to be installed, and the tools only run inside the container.
- Some tools are not available for every PHP version, for example phpcov and phpcpd are missing for PHP 8.3.
Topics
FAQ
- What is phpqa?
- A Docker image bundling many PHP static analysis, testing and code-quality tools so you can run them without installing PHP tooling locally. phpqa is a Docker image that packages a large set of PHP quality tools, including PHPStan, Psalm, PHP_CodeSniffer, PHP-CS-Fixer, PHPMD, PHPUnit, Rector and Deptrac. The image is built from the jakzal/toolbox repository, which manages the tool list and installer.
- Is phpqa free to use? What license does it have?
- phpqa is open source under the MIT license. Check the license terms before using it in commercial products.
- Is phpqa still maintained?
- Actively maintained. The last commit to phpqa was on Nov 3, 2026.
- What can I use phpqa for?
- Running PHPStan or Psalm in CI without setting up PHP on the build agent. Checking coding standards with PHP-CS-Fixer or PHP_CodeSniffer across a team with different local setups. Trying out several PHP analysis tools on a project before choosing which to adopt.
- How do I install phpqa?
- Pick an image tag such as latest or php8.5 from the Docker Hub repository Run the image with Docker to use the bundled PHP tools
- Where can I get phpqa?
- The source code and installation instructions are on GitHub: https://github.com/jakzal/phpqa
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
A static analysis tool for PHP that finds bugs in code without running it.
A linter that enforces Swift style and conventions, with over 200 rules that can be configured per project.
Self-hosted code quality and security platform that scans projects for bugs, vulnerabilities and maintainability issues, with Quality Gates for CI pipelines.
Static analysis tool that finds unused functions, classes, variables, imports and unreachable code in Python projects.
A CLI tool that runs Python linters and formatters such as ruff, isort, black, mypy and flake8 directly on Jupyter Notebooks.