LoginSignup
20
20

More than 5 years have passed since last update.

MACにMAMP、NetBeans、XdebugでPHPをトレースする方法

Posted at

環境

MAC: Yosemite(10.10.3)
MAMP: 3.2.1
NetBeans: 8.0.2
Xdebug: 2.2.5

前提

MACにMAMPがインストールされている事とする

PHPバージョンの確認

MAMPのphpinfoで、PHPのバージョンを確認する。
私の環境では、5.6.7。
phpinfo-1.png

Xdebugを有効化

MAMPをインストールすると、Xdebugも一緒にインストールされています。
しかし、デフォルトではXdebugは無効化されている為、有効化する必要があります。

まず、ターミナルを開いて下記コマンドで、php.iniの場所を確認する。

$ find /Applications/MAMP -name "php.ini"
/Applications/MAMP/bin/php/php5.1.6/conf/php.ini
/Applications/MAMP/bin/php/php5.2.17/conf/php.ini
/Applications/MAMP/bin/php/php5.3.29/conf/php.ini
/Applications/MAMP/bin/php/php5.4.39/conf/php.ini
/Applications/MAMP/bin/php/php5.5.23/conf/php.ini
/Applications/MAMP/bin/php/php5.6.7/conf/php.ini
/Applications/MAMP/conf/php5.1.6/php.ini
/Applications/MAMP/conf/php5.2.17/php.ini
/Applications/MAMP/conf/php5.3.10/php.ini
/Applications/MAMP/conf/php5.3.13/php.ini
/Applications/MAMP/conf/php5.3.14/php.ini
/Applications/MAMP/conf/php5.3.20/php.ini
/Applications/MAMP/conf/php5.3.27/php.ini
/Applications/MAMP/conf/php5.3.28/php.ini
/Applications/MAMP/conf/php5.3.29/php.ini
/Applications/MAMP/conf/php5.3.5/php.ini
 :
 :

今回の場合は、PHP5.6.7なので「/Applications/MAMP/bin/php/php5.6.7/conf/php.ini」となる。

該当ファイルを念のため複製してバックアップをとり、開き、[xdebug]の箇所を探す。

[xdebug]
;zend_extension="/Applications/MAMP/bin/php/php5.6.7/lib/php/extensions/no-debug-non-zts-20131226/xdebug.so"

私の環境では、上記のように「zend_extension」がコメントアウト状態になっていた為、コメントを外し、下記項目を追加する。

 xdebug.remote_enable=on
 xdebug.remote_handler=dbgp
 xdebug.remote_mode=req
 xdebug.remote_host=localhost
 xdebug.remote_port=9000
 xdebug.idekey=netbeans-xdebug
 xdebug.profiler_enable=1
 xdebug.profiler_output_dir="/Applications/MAMP/tmp"

最終的に、こうなる。

 zend_extension="/Applications/MAMP/bin/php/php5.6.7/lib/php/extensions/no-debug-non-zts-20131226/xdebug.so"
 xdebug.remote_enable=on
 xdebug.remote_handler=dbgp
 xdebug.remote_mode=req
 xdebug.remote_host=localhost
 xdebug.remote_port=9000
 xdebug.idekey=netbeans-xdebug
 xdebug.profiler_enable=1
 xdebug.profiler_output_dir="/Applications/MAMP/tmp"

保存して、MAMPを再起動。
Xdebugが有効化されたか、phpinfoを確認する。
phpinfo-2.png

Xdebugの項目が表示されていれば成功。

NetBeans設定

XdebugをNetBeansで使う為の設定を行う。
NetBeans起動後、「NetBeans」→「Preferences」→「PHP」→「一般」の「PHP5 インタプリタ」項目に使用するPHPのパスを記入する。
今回は、「/Applications/MAMP/bin/php/php5.6.7/bin/php」となる。

スクリーンショット-2015-06-13-15.03.58.jpg

そして、「デバッグ」タブの「デバッガ・コンソールを表示」にチェックを入れる。

スクリーンショット-2015-06-13-15.08.05.jpg

これで、NetBenasからPHPのデバッグ(トレース)が出来るようになる。

20
20
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
20
20