
キーテイクアウト
- XDebugは、コードのデバッグとプロファイリングを強化するPHP拡張機能であり、エラーの詳細なスタックトレースを提供します。このチュートリアルでは、VagrantホストPHPアプリ用のPHPSTORMを使用したXDebugのセットアップに関する段階的なガイドを提供します。
このプロセスでは、ホームステッドのインストールと起動、サンプルLaravelアプリのインストール、Xdebug.iniファイルの構成を行い、リモート使用を有効にすることが含まれます。 PHPStormには、新しいサーバーの追加やデバッグ環境の作成など、構成も必要です。
- チュートリアルは、セットアップが期待どおりに機能するようにテストフェーズで終了します。このプロセスは、Xdebugを他のIDに統合するために簡単に適応できます。Phpstormセクションのみが変更が必要です。
- 今では、私たちは皆、Vagrantとそれが提供する開発の柔軟性を愛することを学びました。プラットフォームに関係なく、安定しただけでなく、同僚、メンター、またはメンティーが使用する環境とあらゆる点で同一の時間で、開発環境を簡単に稼働させることができます。しかし、私たちが開発しているアプリケーションは仮想マシン内に存在するため、XDebugでデバッグするのは少し難しいです。
Xdebugは、コードをデバッグおよびプロファイルし、エラーが発生したときに詳細で読み取り可能なスタックトレースを表示できるPHP拡張機能です。詳細なウォークスルーについては、Shameerの投稿を参照してください。まったく不慣れな場合は、以下の手順に従って最初にインストールしてから、Xdebugがあなたとあなたのアプリのためにできるすべての内訳については、上記のリンクされた投稿を参照してください。
このチュートリアルでは、VAGRANTホストPHPアプリ用のPHPSTORMを使用してXDebugを設定します。
準備
環境を準備するには、ホームステッドをインストールして起動してください。
起動したら、sshにsshを吸い込み、サンプルLaravelアプリをインストールします。実行することでこれを行うことができます:
Laravelの挨拶画面を取得すると、行ってもいいです。
Xdebugのインストール
このステップはスキップできます。 HomesteadにはXdebugがインストールされ、有効になっています。ホームステッドを起動した後、phpinfo()を見ることでこれを見ることができます:
composer create-project laravel/laravel Laravel --prefer-dist
ログイン後にコピー
ログイン後にコピー
またはphp fpmおよびphp cliのconf.dフォルダーをチェックアウトしてください:
そこにxdebug.iniが表示されている場合、ロードされます。代わりに他のVagrantボックスを使用していて、Xdebugが存在しない場合は、インストール手順についてはShameerの投稿を参照してください。
xdebug.ini
の構成
Xdebugをリモートで使用できるようにするには、INIファイルを変更し、デフォルトでオフになっているパラメーターを提供する必要があります。 Homesteadのデフォルトのxdebug.iniファイル(/etc/php5/mods-Availableで見つかった)には、元々PHPにそれを有効にするように指示する指令のみが含まれていますが、他には何もありません:
composer create-project laravel/laravel Laravel --prefer-dist
ログイン後にコピー
ログイン後にコピー
その行の下で、次のオプションを追加します
ファイルを閉じてPHP-FPMを再起動します:SUDOサービスPHP5-FPM再起動。 Xdebugの終わりで構成するために必要なのはこれだけです
ls /etc/php5/fpm/conf.d
ls /etc/php5/cli/conf.d
ログイン後にコピー
PHPSTORMの構成 - サーバー
phpstormにも少し構成が必要です。まず、それを使用して、ステップ1で作成したLaravelアプリのディレクトリを開きます:
次に、プロジェクト設定に移動し、PHP->サーバーが新しいものを追加します。選択した名前であるポート8000を与え、ホストの下で、サイトの仮想ホスト(デフォルト:homestead.app)の名前を付けます。次に、パスマッピングを使用してパスをマッピングして、ホストマシンのコードベースの位置がVMの位置に対応するようにします。パブリックサブフォルダーについても同じことをします。基本的に、フォルダーをHomestead.yamlからこのウィンドウに移植します。私の例に従ってください:
PHPSTORMの構成 - デバッグ構成
アプリでデバッガーを実行するには、デバッグ環境を作成する必要があります。実行 - > [構成]を編集します。 そこには、「PHP Webアプリケーション」の新しい構成を作成します。
新しい設定を適用して、構成を閉じます。
テスト
それをセットアップするのはそれだけです。予想どおりに機能するかどうかを見てみましょう。
次に、閉鎖の各ラインの横にブレークポイントを置きます。
これらのブレークポイントをテストしましょう。ブラウザでアプリを開いている場合は、そのタブを閉じます。そうしないと、phpstormが再実行できません。次に、実行に移動します - >デバッグして、事前定義されたデバッグ構成を実行します。新しいタブが起動し、すぐにこれに似た出力を使用してphpstormに戻す必要があります。
zend_extension=xdebug.so
ログイン後にコピー
左フレームには、stacktrace(リクエストが既に通過したファイル)がリストされ、routes.phpで停止します。右のパネルでは、スーパーグロバルのみが宣言されていることがわかります。現時点では他の変数は存在しません。 [履歴書]ボタンをクリックすると、次のブレークポイントに移動し、次の出力が生成されます。
私たちの$ a変数が今あることに注意してください。また、それが含まれているものを見るためにそれを拡張できることに注意してください。再開ボタンをもう一度クリックすると、わずかに異なる出力が生成されます。
$ a配列は、実行したarray_pop操作により、要素が1つ少ないです。これは、私たちのブレークポイントが意図したとおりに機能することを証明し、Xdebugは正常にセットアップされました。
結論
最初の印象にもかかわらず、Xdebugは、何をしなければならないかを知っていれば、Vagrantで使用するために非常に簡単にインストールできます。これらの命令は、Xdebugの他のIDEへの統合にも簡単に適用できますので、適切に合わせて自由に適応してください。PHPstormセクションのみが変更する必要があります。
VMレイヤーをデバッグしますか?他のアプローチを使用していますか?言及することを怠った問題はありますか?お知らせください!
phpstormとVagrantを使用したXdebugのインストールに関するよくある質問(FAQ)
vagrantを使用してphpstormにXdebugをインストールするにはどうすればよいですか? XDebugを使用してPHPコードをデバッグするには、PHPStormでデバッグセッションを開始する必要があります。これを行うには、[PHPデバッグ接続のリスニングを開始]ボタンをクリックしてクリックします。次に、実行を一時停止したい場合に、コードにブレークポイントを設定する必要があります。コードを実行すると、これらのブレークポイントで実行が一時停止し、変数の値とコールスタックの値を検査できます。 、Xdebugは、Phpstormだけでなく、さまざまなIDEで使用できます。ただし、XDebugのインストールと構成のプロセスは、使用しているIDEによって異なる場合があります。いくつかの理由が原因です。 1つの可能性は、phpstorm構成のパスマッピングが正しくないことです。もう1つの可能性は、XDebug拡張機能が適切にインストールまたは構成されていないことです。
以上がphpstormとVagrantでXdebugをインストールする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。