是否有PHP源文件的静态分析工具?

二进制本身可以检查语法错误,但我正在寻找做得更多的东西,比如:

未使用的变量赋值 未初始化就被赋值的数组 可能还有代码风格的警告 ...


当前回答

有一个静态代码分析工具叫做PHP Analyzer。PHP Analyzer现在是一个已弃用的项目,但您仍然可以在遗留分支上访问它。

在许多类型的静态分析中,它还提供了基本的自动修复功能,请参阅文档。

其他回答

NetBeans IDE检查语法错误、不常用的变量等。它不是自动的,但对于小型或中型项目来说效果很好。

PHP PMD(编程错误检测器)和PHP CPD(复制/粘贴检测器)作为PHPUnit的前一部分。

有一个用于PHP脚本漏洞的静态源代码分析器。RIPS的源代码可以在SourceForge上找到。

来自RIPS网站:

RIPS is a tool written in PHP to find vulnerabilities in PHP applications using static code analysis. By tokenizing and parsing all source code files RIPS is able to transform PHP source code into a program model and to detect sensitive sinks (potentially vulnerable functions) that can be tainted by userinput (influenced by a malicious user) during the program flow. Besides the structured output of found vulnerabilities RIPS also offers an integrated code audit framework for further manual analysis.

你可能想尝试用Facebook的HipHop编译。

它对整个项目进行静态分析,可能就是你要找的。

GitHub页面

在线PHP lint

PHPLint

单元变量检查。不过,Link 1和2似乎已经很好地做到了这一点。

不过,我不能说我密集地使用了其中的任何一个:)