Help us understand the problem. What is going on with this article?

Atom+Xdebug+Vagrantでデバッグ環境の構築

More than 3 years have passed since last update.

Atom+Xdebug+Vagrantの構築

忘れそうなのでメモ

環境
Vagrant 1.8.1
CentOs-6.6-64

Vagrant側

Xdebug(php、pear、Xdebug)のインストール

$ sudo yum install epel-release
$ sudo rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
$ sudo yum install -y --enablerepo=remi,remi-php56 php php-devel php-pear php-pecl-xdebug

インストールは完了、続いて設定を行います。

xdebug.iniの修正

$ emacs etc/php.d/xdebug.ini

下記を追加

zend_extension=xdebug.so

php.iniの修正

$ cp etc/php.ini etc/php.ini.org
$ sudo emacs etc/php.ini

下記を追記します。
php.iniでzend_extensionを指定すると
Cannot load Xdebug - extension already loaded
xdebug.iniと重複してしまうとダメなので、xdebug.iniのzend_extensionを削除して、こっちに記述しても問題ないです。

xdebug.remote_enable=1
xdebug.remote_handler=dbgp
xdebug.remote_mode=req
xdebug.remote_host=127.0.0.1 ←Vagrantのhost(vagrant ssh-congfigで確認)
xdebug.remote_connect_back=1
xdebug.remote_port=9000
xdebug.remote_autostart=true

上記の設定を確認

$ php -i |grep xdebug
xdebug
xdebug support => enabled
・
・
xdebug.remote_autostart => On => On
xdebug.remote_connect_back => On => On
xdebug.remote_cookie_expire_time => 3600 => 3600
xdebug.remote_enable => On => On
xdebug.remote_handler => dbgp => dbgp
xdebug.remote_host => 127.0.0.1 => 127.0.0.1
xdebug.remote_log => no value => no value
xdebug.remote_mode => req => req
xdebug.remote_port => 9000 => 9000
・
・

(上記のetc/php.iniで設定したXdebug設定が反映されているか確認)

apache再起動

$ sudo apachectl restart

以上でVagrant側の設定等は完了。

ローカル側

atomのinstall packagesからphp-debugを入れます。
https://atom.io/packages/php-debug

php-xdebugの設定

$ emacs ~/.atom/config.cson

以下を追加

  "php-debug":
      ServerPort: 9000
      PathMaps: [
        "remotepath;localpath"
        "/vagrant/app_name;/Users/your_name/app_name"
      ]

PathMaps: Vagrant上にあるパス;ローカルのパス に指定してください。
ServerPort:9000 上記のxdebug.remote_portの設定と合わせます。

以上で終了です。 :grin:

atomの左下のPHP Debugボタン、もしくはpackages→PHP-debugからtoggle debugging からデバッガ画面を表示、エディタ行左らへんをクリックでブレイクポイントを打てば確認可能。

利用方法は一般的なデバッガ同様で、step over、step in、step outなどができます。

正常に動作している場合は、Atomのphp-debugの画面でListening on port remote_port…がConnectedにパカパカ切り替わるので、そこで動作確認してください。

参考

http://qiita.com/magaya0403/items/ca876c9a66ecf1ac78d2
http://www.skyarch.net/blog/?p=3508
http://endoyuta.com/2014/03/03/phpstorm-vagrant%E3%81%AE%E4%BB%AE%E6%83%B3%E3%83%9E%E3%82%B7%E3%83%B3%E3%82%92%E3%83%AA%E3%83%A2%E3%83%BC%E3%83%88%E3%83%87%E3%83%90%E3%83%83%E3%82%B0%E3%81%99%E3%82%8B/
http://taminif.blogspot.jp/2015/10/mac-php-atom-php-debug.html

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした