追記:MAMPPを使うと一瞬でした・・・以下のように時間を使うぐらいならMAMPPを使ったほうが手間がなくて良さそうです。。。
php.iniを開いて以下の行を追加!!
zend_extension=”/usr/lib/php/extensions/no-debug-non-zts-20100525/xdebug.so”
そしてApache再起動!!
・・・で、終わるはずなのに終わらなかったのでその顛末をメモとして残しておく。
まず、通常の作業手順(MAPPとかXAMPPは使ってない。最初からインストールされているPHPを利用します)。
(sudoは省略)
#vi /etc/php.ini
(php.iniが存在しない場合はテンプレートがあるので以下のようにコピー)
#cp /etc/php.ini.default /etc/php.ini
php.iniにXdebugの項目を追加
[xdebug]
zend_extension=”/usr/lib/php/extensions/no-debug-non-zts-20100525/xdebug.so”
xdebug.profiler_output_dir=”/tmp/xdebug_log”
xdebug.profiler_enable=On
xdebug.remote_enable=On
xdebug.remote_host=”localhost”
xdebug.remote_port=9000
xdebug.remote_handler=”dbgp”
xdebug.collect_vars=on
xdebug.collect_params=4あ
xdebug.dump_globals=on
xdebug.dump.GET=*
xdebug.dump.POST=*
xdebug.show_local_vars=on
Apacheを再起動。
#/usr/sbin/apachectl restart
phpinfo()でXdebugがあるか確認。
<?php phpinfo();
上のようなコードを書いたPHPファウルを用意して、ブラウザからアクセス。
画像のようにXdeubの項目がphpinfoで表示されればOK・・・なんだけどなぜか表示されなかった。
php.iniに何か書き間違いがあるかもしれない。
#php -i | grep xdebug
以下のようなエラーを確認。
Failed loading “/usr/lib/php/extensions/no-debug-non-zts-20100525/xdebug.so”: dlopen(“/usr/lib/php/extensions/no-debug-non-zts-20100525/xdebug.so”, 9): image not found
xdebugが読み込めてない?
権限とか、Webからxdebugを落としてくるとか色々やったけどうまくいかなかったのでソースからコンパイルすることに。
以下のページからsourceを落としてくる。
http://xdebug.org/download.php
この辺を参考にコンパイル。
http://www.webessentials.biz/php/beginer/xdebuginstall/
初期状態に近いmacだとautoconfが無いので、以下の参考にコンパイル。
http://www.4web8.com/9363.html
Comand Line Developer Toolも入れる(Marvericks以降とそれ以前ではやりかた違うっぽい)。
http://hiroki.jp/mavericks-command-line-developer-tools
この辺をやりつつコンパイルを完遂するとmodlulesディレクトリにxdebug.soができるので、差し替えるとXdebugがphpinfoで確認できました。
FuelPHPの開発をSublime Textでやってみる際にXdebugが使えるかテストでした。
うんうん、ちゃんとブレークポイント貼れてる。
Please give us your valuable comment