PHPの開発をMacBookProで行っています。
重いソフトを入れたくないという理由から、エディタのAtomでコードを書いています。
エディタでもステップデバッグをやりたいと思って調査してみたところ、Atomでもプラグインを入れればできることが分かりました。
事前準備
PHPでステップデバッグを行うためにはXdebugが必要です。
ターミナルからXdebugをインストールする場合、phpizeを使用する必要があります。phpizeをスムーズに動作させるにあたって下記二つのインストールが必要になります。過去に下記二つをインストールしている場合は事前準備は不要です。
Xdebugをダウンロード
http://xdebug.org/docs/install
上記よりダウンロードします。
取得したファイルを解凍し、ターミナルでダウンロードした場所に移動します。
移動先で、phpizeを実行します。
ターミナルでphpizeと打ち込んでエンターを押せば実行されます。
phpize
実行完了後、下記の順番でそれぞれ実行していきます。
./configure --enable-xdebug
make
make install
同階層のmoduleディレクトリにxdebug.soができていることを確認します。
xdebug.soを下記パスに移動します。
/usr/lib/php/extensions/no-debug-non-zts-20121212
これで、Xdebugを読み込む準備が完了しました。
Xdebugを使用可能にする
php.iniに下記を記述します。
php.iniはetc以下にあります。(ない場合はphp.ini.defaultをコピーして作成してください。)
既にxdebug.〜部分が存在する場合はそこをコメントアウトして記述してください。
zend_extension="/usr/lib/php/extensions/no-debug-non-zts-20121212/xdebug.so" xdebug.remote_enable=1 xdebug.remote_handler=dbgp xdebug.remote_mode=req xdebug.remote_host=127.0.0.1 xdebug.remote_connect_back=1 xdebug.remote_port=9000 xdebug.remote_autostart=true
# etcへの移動方法 cd /etc
# php.iniのコピー方法 cp /etc/php.ini.default /etc/php.ini
実行できない場合は、下記で管理者権限で実行してください。
# パスワードが必要になります。 sudo cp /etc/php.ini.default /etc/php.ini
これで、apacheを再起動することでXdebugが使用できるようになります。(下記コマンド)
phpinfoなどでXdebugが表示されていることを確認してください。
sudo apachectl restart
Atomにphp-debugをインストールする
環境設定 → installから、テキストボックスに「php-debug」と入力し、php-debugをインストールします。
インストール後、Atomを再起動し、packageのphp-debugから「Toggle Debugging」を選択します。
ステップデバッグの実行
PHPファイルを開き、breakpointを設定する行で右クリック → php-debug → 「Toggle Breakpoint」で設定できます。
ブラウザやターミナルなどでphpを実行すると、設定したbreakpointで変数の確認が出来ます。
ショートカットでの操作
alt + F5で次のbreakpointまで実行
alt + F6でステップオーバー
alt + F7でステップイン
alt + F8でステップアウトが可能です。
ステップデバッグをしながらの開発は効率を大きく上げるものですので
気になる方は試してみてください。