Windows PhpStorm デバッグ やり方

広告

前置き


大規模な開発や、オブジェクトを扱うような開発だといくらPHPでもエディタで限界を感じる時がある。
そんなワケで最近PhpStormを使用することになりました。
今回はローカル環境でPHPをデバッグモードで開発するまでの手法を残しておこうと思います。
※PHPがローカル環境で開発できて、PhpStormがインストールされてる状態を想定。

デバッグまでやることはざっくり以下3ステップ。
①Xdebugダウンロード
②phpiniの設定
③PhpStormの設定
それではやっていきます。

Vagrant(CentOS7)で開発環境をそろえている方は以下記事が参考になります。
Vagrant(CentOS7) + PhpStorm デバッグやり方

の、前に。そもそもXdebugが利用できるかチェックしましょう。

Xdebugを利用できるかチェック


まずphpinfoをブラウザに表示しましょう。
ここでDebug Buildが「no」になっている非デバッグ版のPHPであればXdebugを利用できます。



Xdebugを利用できることを確認できたら、phpinfoはそのまま閉じずにキープしておきましょう。次項で使用します。

Xdebugダウンロード


早速ダウンロード!といきたいところですが、PHPのverによってXdebugのverも変わってきます。
Xdebugの公式ダウンロードサイトをみてもいまいちどれをダウンロードすればいいの?って感じになるので以下手法を使います。

phpinfoのページのソースを表示してコピーしてください。
phpinfo開いてるブラウザ上で右クリック⇒「ページのソースを表示」⇒開いたソースを全コピーする

Xdebugのチェックページを開いてフォームスペースに張りつけます。
「Analse my phpinfo() output」ボタンをクリックしましょう。



③そうすると以下のようなページが表示され、適切なverのダウンロードリンクが出てきます。



④リンクをクリックするとdllファイルがダウンロードできるのでphpのエクステンションフォルダに置いてあげましょう。
> PHPインストールフォルダ\ext

phpiniの設定



phpiniの末尾に以下記述を追加しましょう。
<?php
[XDebug]
zend_extension = "C:\Applications\php-7.2.8\ext\php_xdebug-2.6.1-7.2-vc15-x86_64.dll"
xdebug.remote_autostart = 1
xdebug.profiler_append = 0
xdebug.profiler_enable = 0
xdebug.profiler_enable_trigger = 0
xdebug.remote_enable = 1
xdebug.remote_log="C:\Applications\php-7.2.8\log\xdebug.log"
xdebug.remote_cookie_expire_time = 36000
?>

定例ですが、詳細な設定は省いてます。
以下項目を自身の環境に置き換えて書き換えてください。
「zend_extension」にxdebugのdllファイルのpath ※前項目④でphp extフォルダに置いたdllファイルを指定します。
「xdebug.remote_log」にログを吐き出すファイルのpath ※新規で作成して指定しました。

phpiniを編集したのでapacheを再起動して設定を反映させましょう。

PhpStormの設定



PhpStormを開くとまっさらな状態の場合、以下のようになってると思います。
「Add Configuration」を押下して実行形式を作成します。




実行形式を新規追加します。左上のプラスボタンを押下してください。




A)「PHP Web Page」を選択してください。
B) Serverはホストを指定します。自分の場合、ローカルでの開発のためlocalhostになります。
C) 実行時のURLを指定します。とりあえずドキュメントルートに指定します。



最後にOKで設定を適用しましょう。



設定後の状態





ここまでくればデバッグモードで実行することができます。





使いかた


最低限のデバッグモードの使い方をメモします。
A) 次にあるブレークポイントまで処理を進めます。
B) デバッグモードを終了します。
C) 一行進みます
D) 処理(メソッド等)に階層があれば階層内に進みます。
E) このスペースに変数やオブジェクトの中身が表示されます。




以上、これでかなり開発がはかどります!(^_-)-☆
広告


関連記事
Vagrant(CentOS7) + PhpStorm デバッグやり方

Vagrant(CentOS7) + PhpStorm デバッグやり方

PHP 2019-11-12

Profile