@7nabaの技術ブログ

Vagrant + VSCode でデバッグする方法

自分用にメモとして残す。Macで環境構築済み。

Xdebugのインストール

ターミナルで設定。

vagrant up  
vagrant ssh  

sudo yum --enablerepo=remi-php73 -y install php-pecl-xdebug  
// インストールができたか確認  
php -i | grep xdebug  

sudo vi /etc/php.d/15-xdebug.ini  
// 入力モードへ変更  
i  
// 下記三箇所を検索して変更する  
/xdebug.remote_autostart  
(変更前)xdebug.remote_autostart = 0  
(変更後)xdebug.remote_autostart = 1  
/xdebug.remote_enable  
(変更前)xdebug.remote_enable = 0  
(変更後)xdebug.remote_enable = 1  
/xdebug.remote_host  
(変更前)xdebug.remote_host = localhost  
(変更後)xdebug.remote_host = 192.168.33.1  
// コマンドモードへ変更  
escキー  
:wq  
exit  
// 設定変更を反映  
vagrant reload  

メモ

  • remote_hostの調べ方
    PHPでvar_dump($_SERVER['REMOTE_ADDR']);すれば確認できる。
  • read onlyのファイルをsudoなしで編集した場合は以下の方法で強制保存
    :w !sudo tee %  
    :q!  

VSCodeの設定

PHP Debugのインストール。PHP Debugの設定方法として参考サイトのコードを引用(元記事がなくなったときに困るので)。

{  
    "version": "0.2.0",  
    "configurations": [  
        {  
            "name": "Listen for XDebug",  
            "type": "php",  
            "request": "launch",  
            "port": 9000,  
            "serverSourceRoot": "/var/www/html",  
            "localSourceRoot": "${workspaceRoot}"  
        },  
        {  
            "name": "Launch currently open script",  
            "type": "php",  
            "request": "launch",  
            "program": "${file}",  
            "cwd": "${fileDirname}",  
            "port": 9000  
        }  
    ]  
}  

あとはデバッグすれば、上手くいくはず。

参考
VisualStudioCode + Vagrant + XdebugでPHPをリモートデバッグ
[vim]read only のファイルをsudoで強制的に保存する
viコマンド(vimコマンド)一覧(検索・置換)
VSCode + Vagrant でPHPをデバッグする環境構築

このログへのコメント

コメントはありません