This tool checks syntax of PHP files faster than serial check with a fancier output.
Running parallel jobs in PHP is 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 -p <php>Specify PHP-CGI executable to run (default: 'php').-s, --shortSet short_open_tag to On (default: Off).-a, --aspSet asp_tags to On (default: Off).-e <ext>Check only files with selected extensions separated by comma. (default: php,php3,php4,php5,phtml)--excludeExclude a file or directory. If you want exclude multiple items, use multiple exclude parameters.-j <num>Run jobs in parallel (default: 10).--colorsForce enable colors in console output.--no-colorsDisable colors in console output.--no-progressDisable progress in console output.--jsonOutput results as JSON string (require PHP 5.4).--blameTry to show git blame for row with error.--git <git>Path to Git executable to show blame message (default: 'git').--stdinLoad files and folder to test from standard input.--ignore-failsIgnore failed tests.-h, --helpPrint this help.-V, --versionDisplay this application version.
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 