PhpStormを使う。VirtualBoxのPHPでXdebug設定


PhpStormを使う。VirtualBoxのPHPでXdebug設定

はじめに

前回、「PhpStormを使う。XAMPPのPHPでXdebug設定」という記事を書いたわけですが、やはりXAMPPで動作検証をするというのは、実際の環境にそぐわない部分もあります。また、最近はVagrant+VirtualBoxでの環境構築というのが増えています。いやもはや減りつつある気さえします。

ということで、今回はVirtualBoxのCentOS7にインストールしたApache+PHPを実行環境として、PhpStormからXdebug実行する設定を行っていきます。

ちなみにVirtualBoxへCentOS7をインストールしLAMP環境を構築する手順は、「CentOS7にLAMP環境構築手順まとめyum編 その1」をご参考下さい。

0.前提条件&環境

VirtualBox,PhpStormはインストール済みとします。
インストール手順はどちらもDL→インストーラ実行でよいので簡単です。

バージョン
OS Windows7 64bit
VirtualBox 5.0.20
CentOS 7.1
Apache 2.4.6
PHP 5.5
Xdebug 2.4.0
PhpStorm 2016.1.2

1.ローカルとVirtualMachineのDocumentRootをフォルダ共有のための準備(VM側&ホスト側)

VM側

# yum update kernel
# shutdown -r now
# yum install kernel-devel gcc

ホスト側
→VirtualBOxの「デバイス>Guest Additions CD イメージの挿入」
→実行(GUIだとデスクトップにCDアイコンが出てきます)

2.Xdebugインストール(VM側)

# cd /tmp
# wget http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-6.noarch.rpm
# rpm -Uvh epel-release-7-6.noarch.rpm
# vi /etc/yum.repos.d/epel.repo →enabled=0に変更しておく
# yum install php-pecl-xdebug --enablerepo=epel
# systemctl reload httpd.service

3.php.ini修正(VM側)

# cp /etc/php.ini /etc/php.ini.org
# vi /etc/php.ini

↓以下を追加

[xdebug]
zend_extension="/usr/lib64/php/modules/xdebug.so"  //←パスは合っていることを確認しておくこと
xdebug.default_enable = 1
xdebug.remote_enable = 1
xdebug.remote_port=9000
xdebug.remote_autostart=1
xdebug.remote_host=XXX.XXX.XXX.XXX  //←自分(ホスト側)のIPアドレス
xdebug.idekey = "PHPSTORM"  //←idekeyはphpstorm側と合わせる

※profilerの設定は外しました。詳細は、前回「PhpStormを使う。XAMPPのPHPでXdebug設定」参照。

4.ホストOSとVMの共有フォルダを作成(VM側&ホスト側)

ホスト側
・VirtualBoxの「デバイス>共有フォルダ設定」を開く。

・以下の内容で共有フォルダの追加を行う。
名前:test
パス:phpstormのプロジェクトのパス

OK

VM側
以下コマンドでドキュメントルート配下のディレクトリに先ほど作成した共有フォルダをマウントする。

# cd /var/www/html/
# mkdir testdir
# mount -t vboxsf test ./testdir

5.PHPプロジェクト作成(ホスト側)

・PhpStormでNew Project作成

・InterpreterをVM側のPHPに指定

・ProjectフォルダをVM側のドキュメントルート/var/www/htmlにマッピング
Settings > Languages & Frameworks > PHP > Servers にて、

Name 任意(今回はxdebugに)
Host VM側のIPアドレス
Port 80
Debugger Xdebug
Use path mappings
File/Directory Absolute path on the server
Projectフォルダ/test /var/www/html/testdir

6.デバッグ確認(ホスト側)

・PHPファイル(test.php)を作成し、デバッグポイントを設置
・電話アイコンをクリック
・右上の再生選択プルダウンから「xdebug」を選択し、デバッグボタンクリック
・ブラウザからXXX.XXX.XXX.XXX/testdir/test.phpへアクセス
→デバッグポイントで停まることを確認。

まとめ

XAMPPを使った時よりも手間がかなり増えました。結構準備を整えるだけで時間がかかってしまいそうですね。
ただVirtualBox内の仮想OSとのフォルダ共有などは便利ですのでPhpStormに限らず使えそうです。

  • このエントリーをはてなブックマークに追加

PAGE TOP