首页
/ PHPStan 命令行使用完全指南

PHPStan 命令行使用完全指南

2025-07-06 03:01:36作者:段琳惟

PHPStan 是一款强大的 PHP 静态分析工具,通过命令行界面提供了丰富的功能选项。本文将全面介绍 PHPStan 的命令行使用方法,帮助开发者高效地进行代码质量检查。

基本分析命令

PHPStan 的核心功能通过 analyse 命令实现:

vendor/bin/phpstan analyse [选项] [<路径>...]

路径参数说明

可以指定一个或多个文件或目录路径:

  • 支持相对路径和绝对路径
  • 相对路径基于当前工作目录解析
  • 目录扫描会遵循配置文件中的相关设置

常用选项详解

规则级别设置 (-l|--level)

  • 指定分析规则的严格程度
  • 取值范围通常为 0-8,数字越大检查越严格
  • 示例:-l 5 表示使用第5级规则集

配置文件指定 (-c|--configuration)

  • 指定自定义配置文件路径
  • 支持相对路径和绝对路径
  • 示例:-c config/phpstan.neon

内存限制设置 (--memory-limit)

  • 设置 PHPStan 运行时的内存限制
  • 格式与 php.ini 相同
  • 示例:--memory-limit 2G

高级功能选项

基线文件生成

vendor/bin/phpstan analyse --generate-baseline
  • 生成基线文件记录当前已知错误
  • 默认生成 phpstan-baseline.neon 文件
  • 可使用 --allow-empty-baseline 允许生成空基线

调试模式

--debug 选项

  • 显示每个分析文件的处理过程
  • 遇到内部错误时打印堆栈跟踪
  • 自动禁用结果缓存和并行处理

详细输出 (-v/-vv/-vvv)

  • 显示更多调试信息
  • -vvv 会输出与 diagnose 命令相同的信息
  • 结合 --debug 可识别性能瓶颈

编辑器模式

--tmp-file 和 --instead-of

  • 专为编辑器集成设计
  • 允许分析临时文件而非原始文件
  • 提高开发体验

辅助命令

清理结果缓存

vendor/bin/phpstan clear-result-cache
  • 清除分析结果缓存
  • 开发自定义扩展时特别有用
  • 共享部分 analyse 命令的选项

诊断命令

vendor/bin/phpstan diagnose
  • 输出运行环境诊断信息
  • 包括 PHP 版本、PHPStan 版本等
  • 扩展可实现 DiagnoseExtension 接口添加自定义信息

实用技巧

  1. 简化命令:满足条件时可直接运行 vendor/bin/phpstan 无需参数

    • 当前目录有 phpstan.neonphpstan.neon.dist
    • 配置文件中已设置 pathslevel 参数
  2. 性能优化

    • 默认禁用 Xdebug 提升性能
    • 需要调试时可使用 --xdebug 选项
  3. 输出控制

    • --ansi/--no-ansi 强制控制彩色输出
    • --quiet 静默模式只关注退出码
  4. 版本检查

    • --version 快速查看当前 PHPStan 版本

通过熟练掌握这些命令行选项,开发者可以更高效地利用 PHPStan 进行代码质量分析,并根据项目需求灵活调整分析行为。