Murayama blog.

プログラミング教育なブログ

AtomでXdebugを使ってステップ実行するには

Xdebugをインストールします。

https://xdebug.org/

Xdebugは実行環境やPHPのバージョンによってインストールの手順が異なるので、以下のURLからインストール手順を確認します。

https://xdebug.org/wizard.php

ローカルで php -i した出力結果を上記のページにコピペします。

私の環境(Mac)だと以下のようになりました。Windowsだともっと簡単で、dll落とすだけで済むっぽい。

手順に従ってインストールします。

Xdebugの設定

続いてphp.iniにXdebugの設定を追記します。

[xdebug]
xdebug.remote_enable=1
xdebug.remote_host=127.0.0.1
xdebug.remote_connect_back=off
xdebug.remote_port=9000
xdebug.remote_handler=dbgp
xdebug.remote_mode=req
xdebug.remote_autostart=true

以降ビルトインサーバの起動時には9000番ポートを使うようにします。

php -S localhost:9000

Atomの設定

Atomの拡張パッケージであるphp-debugをインストールします。

https://atom.io/packages/php-debug

インストールが完了すると、AtomのフッターにPHP Debugのアイコンが表示されます。

動作確認

適当なPHPプログラムを書きます。sample.php

<?php
$message = "Hello World";
for ($i=0; $i < 10; $i++) {
  echo $message;
}

上記の4行目(行番号の横)をクリックしてブレークポイントを設定します。またAtomのフッターからPHPDebugアイコンからデバッグ用のウィンドウを表示しておきます。デバッグ用のウィンドウを表示しておかないとブレークポイントは有効にならないので注意です。

PHPプログラムを実行します(ビルトインサーバで動かしてもOK)。

php sample.php

ブレークポイントでコードの実行が停止するので、デバッグ用のウィンドウでコード実行を制御できます。