This tool check syntax of PHP files about 20x faster than serial check.

v0.9.2 2015-12-15 10:42 UTC


This tool check syntax of PHP files faster then serial check with fancier output.

Running parallel jobs in PHP inspired by Nette framework tests.


Just run the following command to install it:

composer require --dev jakub-onderka/php-parallel-lint

For colored output install the suggested package jakub-onderka/php-console-highlighter:

composer require --dev jakub-onderka/php-console-highlighter

Example output

Alt text

Options for run

  • -p <php> Specify PHP-CGI executable to run (default: 'php').
  • -s, --short Set short_open_tag to On (default: Off).
  • -a, -asp Set asp_tags to On (default: Off).
  • -e <ext> Check only files with selected extensions separated by comma. (default: php,php3,php4,php5,phtml)
  • --exclude Exclude a file or directory. If you want exclude multiple items, use multiple exclude parameters.
  • -j <num> Run jobs in parallel (default: 10).
  • --no-colors Disable colors in console output.
  • --json Output results as JSON string (require PHP 5.4).
  • --blame Try to show git blame for row with error.
  • --git <git> Path to Git executable to show blame message (default: 'git').
  • --stdin Load files and folder to test from standard input.
  • --ignore-fails Ignore failed tests.
  • -h, --help Print this help.
  • -V, --version Display this application version

Recommended setting for usage with Symfony framework

For run from command line:

./bin/parallel-lint --exclude app --exclude vendor .

or setting for ANT:

<condition property="parallel-lint" value="${basedir}/bin/parallel-lint.bat" else="${basedir}/bin/parallel-lint">
    <os family="windows"/>

<target name="parallel-lint" description="Run PHP parallel lint">
    <exec executable="${parallel-lint}" failonerror="true">
        <arg line="--exclude" />
        <arg path="${basedir}/app/" />
        <arg line="--exclude" />
        <arg path="${basedir}/vendor/" />
        <arg path="${basedir}" />

Create Phar package

PHP Parallel Lint supports Box app for creating Phar package. First, install box app:

curl -LSs https://box-project.github.io/box2/installer.php | php

and then run this command in parallel lint folder, which creates parallel-lint.phar file.

box build

Downloads this Month Build Status Build status License