1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

[静的解析 x PHP]気軽に静的解析をするために"phpstan"と"phan"をDockerで実行する手順をまとめる

Posted at

phpstan

実行コマンド

.sh
docker run -v `pwd`:/app -w /app ghcr.io/phpstan/phpstan analyse {解析対象のディレクトリ}
# (例)docker run -v `pwd`:/app -w /app ghcr.io/phpstan/phpstan analyse backend/packages

# ターミナル上でなく、テキストファイルに出力したい場合
docker run -v `pwd`:/app -w /app ghcr.io/phpstan/phpstan analyse {解析対象のディレクトリ} > phpstan.txt
▼動作確認

以下を実行してバージョンが表示されれば実行可能な状態

.sh
docker run -v `pwd`:/app -w /app ghcr.io/phpstan/phpstan analyse -V
> PHPStan - PHP Static Analysis Tool 1.6.7

参考:公式サイト:https://phpstan.org/user-guide/docker

phan

phan/dockerを使用します。

(追記)こっちでもできそう。
https://hub.docker.com/r/cloudflare/phan/

phpstanとは違い、少し準備が必要です。

【事前準備】

  1. 解析対象のソースコードのルートディレクトリに内に.phanディレクトリを作成
  2. config.phpファイルとlogディレクトリを作成
  3. config.phpで解析設定を行い、logディレクトリに解析結果が出力される

実行コマンド

.sh
docker run -v `pwd`:/mnt/src -v `pwd`/.phan/log:/mnt/log phanphp/phan -po /mnt/log/analysis.txt

参考
https://github.com/phan/phan/wiki/Getting-Started#from-a-docker-image
https://zenn.dev/big_tanukiudon/articles/9d3eead9ef49c4

さいごに

composerでインストールせず、別で環境を作って実行できるので「静的解析をちょっと試してみたい」というときに良いのかなと思います。

psalmについても同様の方法でできないか色々やってみたのですが現時点ではできていません!
良い方法をご存知の方がいたらコメントください :bow:
方法1「psalm.pharをインストールして実行する方法」
方法2「composerコンテナを作ってpsalmをインストールして実行する方法」

それでは!

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?