Author: Peeter Marvet
Script that can be used to check code for compatibility with PHP version 5.6 - including easily installing and removing dependencies in ~/bin (and our current preferences for minimal noise in reports).
Download sniffex script:
mkdir -p ~/bin && wget https://raw.githubusercontent.com/zone-eu/zone-docs/master/scripts/sniffex -O ~/bin/sniffex && chmod +x ~/bin/sniffex && sniffex initsniffex command [./path]
init install PHP_CodeSniffer and PHPCompatibility to ~/bin
cleanup remove installed components from ~/bin
snuff check the provided pathRuleset used for checking is sniffex-phpcs56minimal.xml.
This ruleset is made for testing large number of servers automatically, so some non-essential folders have been excluded: logs, caches, old/new, adminer.php, some unit tests / examples and specific libraries that are most probably unused.
If you find a single file that crashes phpcs then it is most probably a recursion loop in something incorrectly
detected as PHP code - for example <?LassoScript code or <?php inside changelog.php. Running phpcs -v ./somepath will list checked files and -vv also tokens as they are parsed.
Easiest way to exclude specific files is by adding // phpcs:ignoreFile -- causes endless recursion in phpcs to the beginning of file, immediately after <?php.