2.10. 结果缓存
结果缓存
PHPStan 会缓存分析结果,因此后续运行速度更快。你应该始终分析整个项目 —— 传给 analyse
命令 的路径列表每次应该相同以便利用缓存。如果每次运行的的路径不同,则会完全重建缓存。
你可能注意到结果缓存有时不会被保存,即使上次 PHPStan 运行后什么都没改变它也会进行完整分析。如果分析结果包含某些严重的错误,例如解析错误,缓存不会被用于下次运行,因为文件依赖树可能会不完整。
结果缓存被保存在 %tmpDir%/resultCache.php
。了解更多关于 tmpDir
配置 »
结果缓存内容
- 最近一次执行的项目完整分析。至少每7天执行一次完整分析。
- 使旧缓存失效的分析变量。如果以下任意值发生变化,会再次执行完整分析。
- 最近一次运行的报错
- 项目文件的依赖树。如果文件
A.php
上次运行后被修改了,所有调用A.php
的文件,或者 在A.php
引用的所有符号(symbol) 会被再次分析。
清理结果缓存
为了清理结果缓存的当前状态,例如你在开发 自定义扩展 但结果缓存太老了,你可以运行 clear-result-cache
命令。了解更多 »
当使用 --debug
运行时结果缓存也会失效。