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 create a composer.json
file and run the php composer.phar install
command to install it:
{
"require-dev": {
"jakub-onderka/php-parallel-lint": "0.*"
}
}
For colored output install suggested package jakub-onderka/php-console-highlighter
. After a composer.json
file include:
{
"require-dev": {
"jakub-onderka/php-parallel-lint": "0.*",
"jakub-onderka/php-console-highlighter": "0.*"
}
}
-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 directory. If you want exclude multiple directories, 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.
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"/>
</condition>
<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}" />
</exec>
</target>
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