AlmaLinux9 に phpstan をインストールしたので覚書
■はじめにphpstanはphpのバグなどを調べてくれるツール。
頻繁にインストールしないのとphpstan.neonの書き方が新バージョンで少し変わっていたので、一からメモ。
なお、composerはサーバにインストールされており、
この覚書ではcomposerの実行ユーザを vendor であるものとする。
(rootでなければ好きなユーザ名で構わない)
■phpstan をインストール
# sudo -u vendor composer global require phpstan/phpstan
■ phpstanだけでコマンドを使えるようにする。(任意)
# echo 'export PATH="/home/vendor/.composer/vendor/bin:$PATH"' > /etc/profile.d/phpstan.sh
# chmod 644 /etc/profile.d/phpstan.sh
設定を即時反映
# source /etc/profile.d/phpstan.sh
以上
■使い方
・基本形
# phpstan analyse /var/www/html/
・出力をテキストで保存したい場合
# phpstan analyse /var/www/html/ > phpstan_result.txt
■ phpstan.neonのススメ
簡易的チェックであれば不要なのだが、
本格的にチェックしたいとなるとneonファイルを作ってチェックしたほうが無難。
例えば、上位のフォルダにライブラリがある場合や
解析レベルを変更したい場合など作っておいた方が何かと便利。
■phpstan.neon を置きたい場所に移動
# cd /var/www/html/xxx/
このようなプロジェクトルートにphpstan.neonを作るのが最も楽ではあるが、
ルートを汚したくない場合が多いはず。
その場合は、後に--configurationパラメータで指定する手もある。
# cd /var/www/html/xxx/neon/
今回は例としてプロジェクトフォルダにあるneon/というフォルダにphpstan.neonを作ってみる。
■ phpstan.neonの作成し保存
# nano phpstan.neon
上記で編集できるが、
アップロードできるなら普段遣いのエディタで作ってSFTPなどでアップロードしてもよい。
■ phpstan.neonの編集
詳細な設定は調べてもらうとして、ヒントとしてはこんなパラメータが使える。
parameters:
level: 5
# paths の指定
# CWD (コマンド実行場所) を基準にパスを解決
paths:
- %currentWorkingDirectory%/public
- %currentWorkingDirectory%/system
# 解析実行前に、指定したオートローダーファイルを読み込ませる
bootstrapFiles:
- %currentWorkingDirectory%/system/vendor/autoload.php
# vendor ディレクトリを除外
excludePaths:
- %currentWorkingDirectory%/system/vendor/*
■使い方(phpstan.neonを使った実行)
# cd /var/www/html/xxx/
プロジェクトルートに移動。
phpstan.neonを置いてある場所ではないので注意。
phpstan.neonに書いた %currentWorkingDirectory%が 今の作業ディレクトリになる。
# phpstan analyse --configuration=neon/phpstan.neon
phpstan.neon を読み込んで実行。
半年前のアンケートとかでスコアの高かったモノをまとめた
— りょうご (@Ryogo_PL) April 28, 2025
『ちびキャラ用 コスチューム素材プラグイン Vol.4』を
公開しておきましたhttps://t.co/Rm9dts90Gx pic.twitter.com/CgfbKVUhUg
昔描いたイラストをマイブームな画風で描き直してみたシリーズ pic.twitter.com/jNxnKCyMsn
— りょうご (@Ryogo_PL) November 12, 2023
昔描いた 東方イラスト をマイブームな画風で描き直してみたシリーズ pic.twitter.com/AV9PMOWa5c
— りょうご (@Ryogo_PL) July 9, 2022

