This repository expects a standard PHP 8.4 CLI environment with the dependencies required for XML processing, PHPUnit, static analysis, and coverage.
At minimum, make sure the system provides:
- PHP 8.4 CLI
- XML / XMLReader support
- Composer
- Xdebug
Typical package names on Linux distributions look like:
php8.4-cliphp8.4-xmlphp8.4-xdebugcomposer
Exact package names can differ by platform or package manager, but the
runtime expectation stays the same: php must be a PHP 8.4 CLI binary
with xmlreader and xdebug available.
The repository does not require a global coverage mode in ini files.
Coverage is enabled only for the dedicated command:
composer test-coverageThat command uses:
php -d xdebug.mode=coverage ...So the environment must satisfy two conditions:
- Xdebug is already loaded by the normal CLI PHP configuration.
- Coverage is enabled only at launch time through
-d xdebug.mode=coverage.
Any platform-specific work to make CLI PHP load Xdebug should be done outside the repository commands.
- install the PHP 8.4 CLI, XML, and Xdebug packages provided by your distribution or PPA;
- enable the Xdebug extension for CLI PHP using the standard mechanism of that distribution;
- verify that
php --ri xdebugworks before running coverage.
- install PHP 8.4 and Xdebug using your package manager or the standard PHP distribution you use locally;
- make sure the CLI
phpcommand loads Xdebug in its default config; - verify with
php --ri xdebug.
- use a PHP 8.4 build that includes or supports Xdebug;
- enable Xdebug in the normal CLI PHP configuration;
- verify with
php --ri xdebug.
The repository assumes that by the time you run tests, these steps are already complete.
Check the loaded extensions:
php -m
php --ri xdebugThen run:
composer test
composer test-coverage
composer phpstan-checkIf composer test-coverage fails because Xdebug is missing, fix the
platform configuration first instead of changing the test command.