當我們進行PHP版本更新的時候,比如從5.x更新到7.x會遇到項目代碼不相容的情況。如果通過人工檢查,工作量比較大,我們可以使用PHPCompatibility+PHP_CodeSniffer進行相容性檢查。
1)先安裝PHP_CodeSniffer,建議使用composer安裝
composer global require "squizlabs/php_codesniffer=*"
2)安裝PHPCompatibility
這裡建議使用下載下傳zip包的方式,因為PHPCompatibility僅僅作為PHP_CodeSniffer的插件使用。
https://github.com/PHPCompatibility/PHPCompatibility#installation-via-a-git-check-out-to-an-arbitrary-directory-method-2
Download the latest PHPCompatibility release and unzip/untar it into an arbitrary directory.
phpcs --config-set installed_paths /path/to/PHPCompatibility
3)運作相容性檢查
phpcs --standard=PHPCompatibility [path]
運作的結果如下:可以看到檔案名,不相容的line。
FILE: Crypt.php
----------------------------------------------------------------------
FOUND 15 ERRORS AFFECTING 8 LINES
----------------------------------------------------------------------
30 | ERROR | The constant "MCRYPT_RIJNDAEL_256" is deprecated since
| | PHP 7.1 and removed since PHP 7.2