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に限らず使えそうです。
WEBアプリケーション関連 人気連載リンク
基礎からPHPWEBアプリ解発を学ぶなら・・
PHP基礎 連載
より実践的なWEBアプリ開発講座!Bootstrap活用を学ぶなら・・
魁!小野の塾 連載