In life cycle of a project, you must upgrade the server where it installed. During this upgrade, PHP version can be upgraded. A legitim question is if the project is ready to run on the new version of PHP. This question of quality assurance can be integrate to your continuous integration process during all the life cycle of the project.
Check with Code Sniffer
By default, PHPCS doesn't know a standard to PHP Compatibility. To cover this case, you can use PHPCompatibility whose define the standard to use.
Install Code Sniffer
There are three methods to install Code Sniffer:
- Download PHAR files
- Pear installation
- Composer installation
For our case, we prefered Composer installation:
composer require "squizlabs/php_codesniffer=*"
After PHPCS installation, you can add your standards in
/Standards folder located in
To install PHPCompatibility in
git clone https://github.com/wimg/PHPCompatibility.git
To check if the new standard is successfully installed, just run the command:
You must show all installed standards. You should see PHPCompatibility among them.
The cloning of GIT repository can generate a wrong directory level. You can fix this with following command:
phpcs --config-set installed_paths /vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/PHPCompatibility/PHPCompatibility
To check compatibility we can run the follwoing command:
./vendor/bin/phpcs --standard=PHPCompatibility --runtime-set testVersion 7.1 <path>
With this command you checking compatibility in PHP version 7.1 on the folder or file defined in
The output of the test will similar to:
To test backwards compatibility, it is advisable that you execute PHPCS on the latest PHP version available.
Naturally, you can add all others PHPCS options. For instance, you can limit the test to files with
.php extension. To do this, complete the earlier command:
./vendor/bin/phpcs --standard=PHPCompatibility --extensions=php --runtime-set testVersion 7.1 <path>
To ignore files or folders, you can use the option