LoginSignup
12
15

More than 3 years have passed since last update.

vagrantでxdebugを使用する方法

Last updated at Posted at 2019-07-21

xdebugの仕組み

php本体(vagtrantの中にある)とphp storm(PC本体)をリモートで接続してデバックを制御しています。
今回はvagrantにあるphp,xdebugを使い、local(自分のPC)をデバッグしたいので、

vagrantのhost(vagrantfileに記載されているもの) => localのPC

をデバッグするという機構になります

より詳しい説明はこちらを参考に
https://qiita.com/castaneai/items/d5fdf577a348012ed8af

xdebugのインストール

$ sudo yum install --enablerepo=remi-php72 php-xdebug -y

php.iniの設定

Xdebugモジュールの場所を確認

$ sudo find / -name "xdebug.so"

上記を参考にphp.iniの編集

$ sudo vi /etc/php.ini
php.ini
[xdebug]
zend_extension=/path/to/Xdebugモジュール(上で確認したやつ)
xdebug.remote_enable=1
xdebug.remote_autostart=1
xdebug.remote_host=10.0.2.2 ;*デバッグ接続するPCのIPアドレス。
xdebug.remote_port=9001 #9000番だとうまくいかないことがあるらしいので
xdebug.idekey="PHPSTORM"

各値の詳しい説明はこちらを参考に
https://qiita.com/castaneai/items/d5fdf577a348012ed8af

*デバッグ接続するPCのIPアドレス。
つまり、vagrantから見た、macのhostnameのことですが、「10.0.2.2」と指定するのがお約束らしいです。
これは、「vagrantから見た」なのでdockerなどの他のものを使っているのであれば、この値にはならない(と思います)

php-fpmの再起動

$ sudo systemctl restart php-fpm

PHP STORM側の設定

ここからは自分のPCにあるPHP STORMでの設定。

画面の上部の
PHPStorm -> Preferences
を選び、

まずは、以下のように

Languages & Frameworks > DebugからDebug portの設定をします

ここの9001番はphp.iniに記述したものと同じにします。

スクリーンショット 2019-07-18 9.49.27.png

次に、
上記「Debug」のすぐ下の「Servers」にいき、
vagrantfileで設定しているhostを設定する。

68747470733a2f2f71696974612d696d6167652d73746f72652e73332e61702d6e6f727468656173742d312e616d617a6f6e6177732e636f6d2f302f3338383532352f33613137346533362d356664362d653666342d663533362d3331323732363062336236312e706e67.png

次にlocalのPCとvagrantのディレクトリをマウントしているのであればその設定を記述。
これもvagrantfileの通り。

スクリーンショット 2019-07-18 10.04.19.png

参考までにvagrantfileは以下のものです。

Vagrantfile
Vagrant.configure("2") do |config|

  config.vm.define "app" do |node|
    node.vm.box = "bento/amazonlinux-2"
    node.vm.box_version = "1.0.0"
    node.vm.hostname = "app"
    node.vm.synced_folder "app", "/var/www" #ここと
    node.vm.network :private_network, ip: "192.168.33.10" #ここ 

    node.vm.provider "virtualbox" do |vb|
       vb.memory = "2048"
    end

  end
end

次に、今作成したサーバー情報を元に、debugのための設定をしていきます。

メニューのRun > Edit Configurations
左上の「+」から、「PHP Remote Debug」を選択し、設定を追加します

以下のような画面になると思いますので、

スクリーンショット 2019-07-18 10.29.03.png

Name:好きなもの
Servers:先ほど作成したものをプルダウンから選択
(選択するときは、Filter debug connection by IDE key にチェックを入れてからでないと、選択できません。)
ide key:PHPSTORM

というように作成してください

以上で設定が終わりました。
これでxdebugが使えるようになるはずです。

12
15
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
12
15