480

PHP ソース ファイルの静的解析ツールはありますか?

バイナリ自体で構文エラーをチェックできますが、次のようなより多くの機能を探しています。

  • 未使用の変数割り当て
  • 最初に初期化されずに代入される配列
  • おそらくコードスタイルの警告
  • ...
4

12 に答える 12

374

phpコマンド ラインから lint モードで実行して、実行せずに構文を検証します。

php -l FILENAME

高レベルの静的アナライザーには次のものがあります。

下位レベルのアナライザーには次のものがあります。

PHP の動的な性質により、いくつかの場合により便利なランタイム アナライザーには、次のものがあります。

ドキュメント ライブラリの phpdocDoxygenは、一種のコード分析を実行します。たとえば、Doxygen は、Graphvizを使用して素敵な継承グラフをレンダリングするように構成できます。

もう 1 つのオプションはxhprof です。これは Xdebug に似ていますが、軽量であるため、運用サーバーに適しています。このツールには、PHP ベースのインターフェースが含まれています。

于 2008-12-18T22:02:58.970 に答える
38

オンラインPHPリント

PHPLint

ユニタライズされた変数はチェックします。ただし、リンク1と2はすでにこれをうまく行っているようです。

私はこれらのいずれかを集中的に使用したとは言えませんが:)

于 2008-12-18T19:48:21.643 に答える
25

PHP Mess Detectorは、素晴らしく高速です。

于 2012-02-17T17:00:49.210 に答える
17

私はphp -l他のいくつかのツールを使用してみました。

ただし、私の経験では (もちろん、マイレージは異なる場合があります) 、 pfff toolset の scheck が最適です。Quora で pfff について聞いたことがあります (良い PHP lint / 静的解析ツールはありますか? )。

コンパイルしてインストールできます。素敵なパッケージはありません (私のLinux Mint Debian システムでは、最初にlibpcre3-devocamllibcairo-devlibgtk-3-dev、およびlibgimp2.0-dev の依存関係をインストールする必要がありました) が、インストールする価値はあるはずです。

結果は次のように報告されます

$ ~/sw/pfff/scheck ~/code/github/sc/
login-now.php:7:4: CHECK: Unused Local variable $title
go-automatic.php:14:77: CHECK: Use of undeclared variable $goUrl.
于 2012-05-26T22:40:39.807 に答える
14

コピー/貼り付け/編集されたコードを検出する「クローン検出」ツールであるSemantic Designs の CloneDRを参照してください。

空白、コメント、さらには変数の名前変更に関係なく、正確なコードフラグメントとニアミスコードフラグメントを見つけます。PHP のサンプル検出レポートは、Web サイトにあります。(私は著者です。)

于 2010-03-07T07:05:47.440 に答える
7

NetBeans IDE は、構文エラー、使用されていない変数などをチェックします。自動化されていませんが、小規模または中規模のプロジェクトでは問題なく機能します。

于 2010-09-02T08:32:43.027 に答える
6

nWire for PHPという新しいツールがあります。これは、 Eclipse PDTおよびZend Studio 7.x用のコード探索プラグインです。PHP のリアルタイム コード分析を有効にし、次のツールを提供します。

  • コードの視覚化 - コンポーネントと関連付けのインタラクティブなグラフィカル表現。
  • コード ナビゲーション - 独自のナビゲーション ビューにすべての関連付けが表示され、コードを書いたり読んだりする際に役立ちます。
  • クイック検索 - メソッド、フィールド、ファイルなどを入力しながら検索します。
于 2010-06-02T06:50:37.400 に答える
5

PHP PMD (Programming Mistake Detector) とPHP CPD (Copy/Paste Detector) はPHPUnitの前の部分です。

于 2010-01-09T22:45:20.943 に答える
4

RIPSがあります。これは、PHP スクリプトの脆弱性に対する静的ソース コード アナライザーです。RIPS のソース コードは、SourceForgeで入手できます。

RIPS サイトから:

RIPS は、静的コード分析を使用して PHP アプリケーションの脆弱性を検出する、PHP で作成されたツールです。すべてのソース コード ファイルをトークン化して解析することにより、RIPS は PHP ソース コードをプログラム モデルに変換し、プログラム フロー中にユーザー入力 (悪意のあるユーザーの影響を受ける) によって汚染される可能性のある機密性の高いシンク (潜在的に脆弱な関数) を検出できます。見つかった脆弱性の構造化された出力に加えて、RIPS はさらに手動で分析するための統合コード監査フレームワークも提供します。

于 2013-08-30T23:49:03.320 に答える
3

PHP Analyzerという静的コード分析用のツールがあります。PHP アナライザーは非推奨のプロジェクトになりましたが、レガシー ブランチから引き続きアクセスできます。

多くのタイプの静的分析の中で、基本的な自動修正機能も提供します。ドキュメントを参照してください。

于 2013-03-13T22:11:44.297 に答える