Analysis tools logo

104 PHP Static Analysis Tools

Type:
Any

What is PHP?

PHP is a general-purpose scripting language especially suited to web development. It was originally created by Danish-Canadian programmer Rasmus Lerdorf in 1994; (...). PHP originally stood for Personal Home Page, but it now stands for the recursive initialism PHP: Hypertext Preprocessor. (...) PHP code is usually processed on a web server by a PHP interpreter implemented as a module, a daemon or as a Common Gateway Interface (CGI) executable.

(More info)

What are the best PHP analysis tools?

97

Mega-Linter

  • Type: cli
335

Mega-Linter can handle any type of project thanks to its 70+ embedded Linters, its advanced reporting, runnable on any CI system or locally, with assisted installation and configuration, able to apply formatting and fixes

61

Semgrep

  • Type: cli
  • Type: service
5386

A fast, open-source, static analysis tool for finding bugs and enforcing code standards at editor, commit, and CI time. Its rules look like the code you already write; no abstract syntax trees or regex wrestling. Supports 17+ languages.

48

PHPStan

  • Type: cli
10290

PHP Static Analysis Tool - discover bugs in your code without running it!

45
41

Psalm

  • Type: cli
4415

Static analysis tool for finding type errors in PHP applications.

18

phan

  • Type: cli
5174

A modern static analyzer from etsy.

18

PHP Coding Standards Fixer

  • Type: cli
10556

Fixes your code according to standards like PSR-1, PSR-2, and the Symfony standard.

16

CodeScene

  • Type: service

CodeScene is a quality visualization tool for software. Prioritize technical debt, detect delivery risks, and measure organizational aspects. Fully automated.

16

Coverity

  • Type: cli

Synopsys Coverity supports 20 languages and over 70 frameworks including Ruby on rails, Scala, PHP, Python, JavaScript, TypeScript, Java, Fortran, C, C++, C#, VB.NET.

13

Better Code Hub

  • Type: service

Better Code Hub checks your GitHub codebase against 10 engineering guidelines devised by the authority in software quality, Software Improvement Group.

13

Php Inspections (EA Extended)

  • Type: cli
1266

A Static Code Analyzer for PHP.

13

PHP_CodeSniffer

  • Type: cli
8888

Detects violations of a defined set of coding standards.

6

deptrac

  • Type: cli
1740

Enforce rules for dependencies between software layers.

6

PHPMD

  • Type: cli
1963

Finds possible bugs in your code.

6

Semmle QL and LGTM

  • Type: cli

Find security vulnerabilities, variants, and critical code quality issues using queries over source code. Automatic PR code review; free for public GitHub/Bitbucket repo: [LGTM.com](https://LGTM.com).

5

Codeac

  • Type: service

Automated code review tool integrates with GitHub, Bitbucket and GitLab (even self-hosted). Available for JavaScript, TypeScript, Python, Ruby, Go, PHP, Java, Docker, and more. (open-source free)

5

EasyCodingStandard

  • Type: cli
811

Combine [PHP_CodeSniffer](https://github.com/squizlabs/PHP_CodeSniffer) and [PHP-CS-Fixer](https://github.com/FriendsOfPHP/PHP-CS-Fixer).

3

Application Inspector

  • Type: service

Commercial Static Code Analysis which generates exploits to verify vulnerabilities.

3

Axivion Bauhaus Suite

  • Type: cli

Tracks down error-prone code locations, style violations, cloned or dead code, cyclic dependencies and more for C/C++, C#/.NET, Java and Ada 83/Ada 95.

3

pdepend

  • Type: cli
770

Calculates software metrics like cyclomatic complexity for PHP code.

3

PHP Architecture Tester

  • Type: cli
586

Easy to use architecture testing tool for PHP.

3

PHP Insights

  • Type: cli
4398

Instant PHP quality checks from your console. Analysis of code quality and coding style as well as overview of code architecture and its complexity.

3

phpcpd

  • Type: cli
2092

Copy/Paste Detector for PHP code.

3

Unibeautify

  • Type: cli
  • Type: service
492

Universal code beautifier with a GitHub app. Supports HTML, CSS, JavaScript, TypeScript, JSX, Vue, C++, Go, Objective-C, Java, Python, PHP, GraphQL, Markdown, and more.

2

CodeFlow

  • Type: service

Automated code analysis tool to deal with technical depth. Integrates with Bitbucket and Gitlab. (free for Open Source Projects)

2

Fortify

  • Type: ide-plugin

A commercial static analysis platform that supports the scanning of C/C++, C#, VB.NET, VB6, ABAP/BSP, ActionScript, Apex, ASP.NET, Classic ASP, VB Script, Cobol, ColdFusion, HTML, Java, JS, JSP, MXML/Flex, Objective-C, PHP, PL/SQL, T-SQL, Python (2.6, 2.7), Ruby (1.9.3), Swift, Scala, VB, and XML.

2

GrumPHP

  • Type: cli
3609

Checks code on every commit.

2

Kiuwan

  • Type: service

Identify and remediate cyber threats in a blazingly fast, collaborative environment, with seamless integration in your SDLC. Python, C\C++, Java, C#, PHP and more.

2

PHP-Parser

  • Type: cli
14921

A PHP parser written in PHP.

2

phpdoc-to-typehint

  • Type: cli
229

Add scalar type hints and return types to existing PHP projects using PHPDoc annotations.

2

phpDocumentor

  • Type: cli
3251

Analyzes PHP source code to generate documentation.

2

PhpMetrics

  • Type: cli
2161

Calculates and visualizes various code quality metrics.

2

todocheck

  • Type: cli
357

Linter for integrating annotated TODOs with your issue trackers

2

trivy

  • Type: cli
8846

A Simple and Comprehensive Vulnerability Scanner for Containers and other Artifacts, Suitable for CI. Trivy detects vulnerabilities of OS packages (Alpine, RHEL, CentOS, etc.) and application dependencies (Bundler, Composer, npm, yarn, etc.). Checks containers and filesystems.

1

Atom-Beautify

  • Type: ide-plugin
1497

Beautify HTML, CSS, JavaScript, PHP, Python, Ruby, Java, C, C++, C#, Objective-C, CoffeeScript, TypeScript, Coldfusion, SQL, and more in Atom editor.

1

churn-php

  • Type: cli
1134

Helps discover good candidates for refactoring.

1

dephpend

  • Type: cli
478

Dependency analysis tool.

1

deprecation-detector

  • Type: cli
393

Finds usages of deprecated (Symfony) code.

1

DesignPatternDetector

  • Type: cli
104

Detection of design patterns in PHP code.

1

Enlightn

  • Type: cli
561

A static and dynamic analysis tool for Laravel applications that provides recommendations to improve the performance, security and code reliability of Laravel apps. Contains 120 automated checks.

1

exakat

  • Type: service
365

An automated code reviewing engine for PHP.

1

Mondrian

  • Type: cli
385

A set of static analysis and refactoring tools which use graph theory.

1

parallel-lint

  • Type: cli
126

This tool checks syntax of PHP files faster than serial check with a fancier output.

1

Parse

  • Type: cli
325

A Static Security Scanner.

1

PHP Assumptions

  • Type: cli
147

Checks for weak assumptions.

1
1

PHP Semantic Versioning Checker

  • Type: cli
416

Suggests a next version according to semantic versioning.

1

php-speller

  • Type: cli
56

PHP spell check library.

1

PHP-Token-Reflection

  • Type: cli
192

Library emulating the PHP internal reflection.

1

phpca

  • Type: cli
88

Finds usage of non-built-in extensions.

1

PhpDependencyAnalysis

  • Type: cli
527

Builds a dependency graph for a project.

1

phploc

  • Type: cli
2149

A tool for quickly measuring the size and analyzing the structure of a PHP project.

1

phpmnd

  • Type: cli
466

Helps to detect magic numbers.

1

phpqa - jakzal

  • Type: cli
947

Many tools for PHP static analysis in one container.

1

phpqa - jmolivas

  • Type: cli
334

PHPQA all-in-one Analyzer CLI tool.

1

PHPQA

  • Type: cli
522

A tool for running QA tools (phploc, phpcpd, phpcs, pdepend, phpmd, phpmetrics).

1

phpsa

  • Type: cli
649

Static analysis tool for PHP.

1

pre-commit

  • Type: cli
6684

A framework for managing and maintaining multi-language pre-commit hooks.

1

Progpilot

  • Type: cli
250

A static analysis tool for security purposes.

1

Qafoo Quality Analyzer

  • Type: cli
493

Visualizes metrics and source code.

1

Snyk

  • Type: service

Vulnerability scanner for dependencies of node.js apps (free for Open Source Projects).

1

Sonatype

  • Type: service

Reports known vulnerabilities in common dependencies and recommends updated packages to minimize breaking changes

1

Tuli

  • Type: cli
173

A static analysis engine.

1

twig-lint

  • Type: cli
110

twig-lint is a lint tool for your twig files.

1

Undebt

  • Type: cli
1642

Language-independent tool for massive, automatic, programmable refactoring based on simple pattern definitions.

1

Veracode

  • Type: cli

Find flaws in binaries and bytecode without requiring source. Support all major programming languages: Java, .NET, JavaScript, Swift, Objective-C, C, C++ and more.

1

WAP

  • Type: cli

Tool to detect and correct input validation vulnerabilities in PHP (4.0 or higher) web applications and predicts false positives by combining static analysis and data mining.

0

AppChecker

  • Type: cli

Static analysis for C/C++/C#, PHP and Java.

0

ApplicationInspector

  • Type: cli
3853

Creates reports of over 400 rule patterns for feature detection (e.g. the use of cryptography or version control in apps).

0

APPscreener

  • Type: cli

Static code analysis for binary and source code - Java/Scala, PHP, Javascript, C#, PL/SQL, Python, T-SQL, C/C++, ObjectiveC/Swift, Visual Basic 6.0, Ruby, Delphi, ABAP, HTML5 and Solidity.

0

Code Inspector

  • Type: service

Code quality and technical debt management platform that supports 10+ languages.

0

codeburner

  • Type: cli
83

Provides a unified interface to sort and act on the issues it finds.

0

CodePatrol

  • Type: service

Automated SAST code reviews driven by security, supports 15+ languages and includes security training.

0

Depends

  • Type: cli
121

Analyses the comprehensive dependencies of code elements for Java, C/C++, Ruby.

0

Goodcheck

  • Type: cli
126

Regexp based customizable linter.

0

graudit

  • Type: cli
887

Grep rough audit - source code auditing tool.

0

larastan

  • Type: cli
3116

Adds static analysis to Laravel improving developer productivity and code quality. It is a wrapper around PHPStan.

0

lizard

  • Type: cli
1222

Lizard is an extensible Cyclomatic Complexity Analyzer for many programming languages including C/C++ (doesn't require all the header files or Java imports). It also does copy-paste detection (code clone detection/code duplicate detection) and many other forms of static code analysis. Counts lines of code without comments, CCN (cyclomatic complexity number), token count of functions, parameter count of functions.

0

Nitpick CI

  • Type: service

Automated PHP code review.

0

Offensive 360

  • Type: web

Commercial Static Code Analysis system doesn't require building the source code or pre-compilation.

0

PhpDeprecationDetector

  • Type: cli
273

Analyzer of PHP code to search issues with deprecated functionality in newer interpreter versions. It finds removed objects (functions, variables, constants and ini-directives), deprecated functions functionality, and usage of forbidden names or tricks (e.g. reserved identifiers in newer versions).

0

Pronto

  • Type: cli
2434

Quick automated code review of your changes. Supports more than 40 runners for various languages, including Clang, Elixir, JavaScript, PHP, Ruby and more.

0

RIPS

  • Type: cli

A static source code analyser for vulnerabilities in PHP scripts.

0

Scrutinizer

  • Type: service

A proprietary code quality checker that can be integrated with GitHub.

0

Security Code Scan

  • Type: ide-plugin
637

Security code analyzer for C# and VB.NET. Detects various security vulnerability patterns: SQLi, XSS, CSRF, XXE, Open Redirect, etc. Integrates into Visual Studio 2015 and newer. Detects various security vulnerability patterns: SQLi, XSS, CSRF, XXE, Open Redirect, etc.

0

Soto Platform

  • Type: cli

Suite of static analysis tools consisting of the three components Sotoarc (Architecture Analysis), Sotograph (Quality Analysis), and Sotoreport (Quality report). Helps find differences between architecture and implementation, interface violations (e.g. external access of private parts of subsystems, detection of all classes, files, packages and subsystems which are strongly coupled by cyclical relationships and more. The Sotograph product family runs on Windows and Linux.

0

Symfony Insight

  • Type: service

Detect security risks, find bugs and provide actionable metrics for PHP projects.

0

Understand

  • Type: cli

Code visualization tool that provides code analysis, standards testing, metrics, graphing, dependency analysis and more for Ada, VHDL, and others.

0

Upsource

  • Type: service

Code review tool with static code analysis and code-aware navigation for Java, PHP, JavaScript and Kotlin.

0

WhiteHat Application Security Platform

  • Type: cli

WhiteHat Scout (for Developers) combined with WhiteHat Sentinel Source (for Operations) supporting WhiteHat Top 40 and OWASP Top 10.

-1

CAST Highlight

  • Type: cli

Commercial Static Code Analysis which runs locally, but uploads the results to its cloud for presentation.

-1

DevSkim

  • Type: ide-plugin
636

Regex-based static analysis tool for Visual Studio, VS Code, and Sublime Text - C/C++, C#, PHP, ASP, Python, Ruby, Java, and others.

-1

Synopsys

  • Type: cli

A commercial static analysis platform that allows for scanning of multiple languages (C/C++, Android, C#, Java, JS, PHP, Python, Node.JS, Ruby, Fortran, and Swift).

-2

ShiftLeft Scan

  • Type: cli
  • Type: service
362

Scan is a free open-source DevSecOps platform for detecting security issues in source code and dependencies. It supports a broad range of languages and CI/CD pipelines.

Deprecated/unmaintained tools

2

phpdcd

  • Type: cli
404

Dead Code Detector (DCD) for PHP code.

1

php7cc

  • Type: cli
1552

PHP 7 Compatibility Checker.

1

php7mar

  • Type: cli
794

Assist developers in porting their code quickly to PHP 7.

0

pfff

  • Type: cli
141

Facebook's tools for code analysis, visualizations, or style-preserving source transformation for many languages.

0

PT.PM

  • Type: cli
58

An engine for searching patterns in the source code, based on Unified AST or UST. At present time C#, Java, PHP, PL/SQL, T-SQL, and JavaScript are supported. Patterns can be described within the code or using a DSL.

0

shipshape

  • Type: cli
256

Static program analysis platform that allows custom analyzers to plug in through a common interface.

❤️ Sponsor this project

We are currently looking for partners who want to sponsor hosting and development of the project.

Check out our Github Sponsors page here

Missing an entry? Please let us know.