常駐案件でXdebugのリモートデバッグを設定する必要がありそうだったので、自宅でできるかどうかやってみた。
【ローカルPC環境】
Windows10(64bit)
Visual Studio Code(2017/12/9時点最新版)インストール済
VSCodeのプラグイン「PHP Debug」インストール済
(とりあえずXAMMPでPHPデバッグできるくらいにはしておこう。)
【手順】
VirtualBOXをインストール
Downloads – Oracle VM VirtualBox
Windows hostsリンクをクリックしてexeファイルをダウンロードする。
「VirtualBox-5.2.2-119230-Win.exe」ファイルダブルクリックしてNext押しまくり。
vagrantのインストールはここらへん参考にした。
ボックスの追加はここらへん参考にした。
コマンドプロンプトで以下のコマンドを実行。(CentOS 6.7 64bitのボックスを追加するため)
vagrant box add CentOS_67_64 https://github.com/CommanderK5/packer-centos-template/releases/download/0.6.7/vagrant-centos-6.7.box
vagrantの起動方法
コマンドプロンプト
cd C:\Users\どこでもよい\virtualbox(ほんとにどこでもよいからフォルダを作る)
vagrant up
Tera TermでSSHアクセス
192.168.33.10(場合による)
root/vagrant
(以下Tera Termによるコマンド実行)
■Apacheインストール
yum install -y httpd
ブラウザで「http://192.168.33.10/(IPは場合による)」にアクセスして確認。
PHPのインストールは以下参照。
Pearのインストール
yum -y install php-pear
Xdebugのインストールは以下参照。
しかし「XML Extension not fount」のエラーが出る。。
以下にて解決
つまりは、
vi `which pecl`
して「-n」を削除して上書き保存する。
再度peclにてxdebugのインストールを試みる。
pecl install xdebug
以下のエラーが発生。
Download of "pecl/xdebug" succeeded, but it is not a valid package archive
Error: cannot download "pecl/xdebug"
Download failed
install failed
pearのバージョンが古いようなので、
pearのアップグレードを試みる。
pear upgrade pear
しかし失敗する。
以下手動にて対応。
pear upgrade Archive_Tar
cd /tmp/pear/download/
tar -zxvf Archive_Tar-1.4.3.tgz(ファイル名(バージョン)は適宜変更のこと)
mv /usr/share/pear/Archive/Tar.php /usr/share/pear/Archive/Tar.php.org
cp /tmp/pear/download/Archive_Tar-1.4.3/Archive/Tar.php /usr/share/pear/Archive/
(Archive_Tar-1.4.3はバージョンによって適宜変更のこと)
再度pearのアップグレードを試す。
pear upgrade pear
いけた。
そしてxdebugのインストールを試みる。
pecl install xdebug
いけた。
↓
Build process completed successfully
Installing '/usr/lib64/php/modules/xdebug.so'
install ok: channel://pecl.php.net/xdebug-2.5.5
configuration option "php_ini" is not set to php.ini location
You should add "zend_extension=xdebug.so" to php.ini
上記の文言はメモしておく。
(「zend_extension="・・・"」は上記でメモしたパスな)
[XDebug]
zend_extension="/usr/lib64/php/modules/xdebug.so"
html_errors=on
xdebug.remote_autostart=on
xdebug.remote_enable=on
xdebug.remote_connect_back=on
xdebug.remote_handler=dbgp
xdebug.remote_host=localhost
xdebug.remote_port=9000
上記追記後保存。その後、service httpd restartでApache再起動をお忘れなく。
参考
最新のVSCodeのバージョンだと、launch.jsonの設定方法が古かった・・
以下参照
以下のような感じにしてあげてください。pathMappingsのとこな。
以上!