「インストール - Xdebug」の版間の差分

ナビゲーションに移動 検索に移動
編集の要約なし
254行目: 254行目:
*# https://chrome.google.com/webstore/category/extensions にアクセスする。
*# https://chrome.google.com/webstore/category/extensions にアクセスする。
*# 検索項目に"xDebug Helper"と入力して、xDebug Helperをインストールする。
*# 検索項目に"xDebug Helper"と入力して、xDebug Helperをインストールする。
<br><br>
== リモートデバッグ ==
==== リモートサーバ側の設定 ====
Xdebugの設定ファイルに、以下の設定を追記する。<br>
sudo vi /etc/php7/conf.d/xdebug.ini
<br>
# /etc/php7/conf.d/xdebug.iniファイル
[xdebug]
xdebug.mode=debug
xdebug.start_with_request=yes
xdebug.dump_undefined=1
xdebug.remote_enable=1
xdebug.remote_autostart=1
xdebug.remote_log=<デバッグ用ログファイルのフルパス>  ; 例 : /tmp/xdebug.log
xdebug.remote_host=<開発PCのIPアドレス>              ; 例 : 192.168.1.0/24
xdebug.remote_port=<任意のポート番号>                ; 例 : 9000
xdebug.remote_handler=dbgp
xdebug.remote_mode=req
xdebug.client_port=9000
; xdebug.client_host=127.0.0.1
xdebug.idekey=VSCODE
<br>
次に、SSHの設定ファイルに、以下の設定を追記する。<br>
SSHが未インストールまたは未設定の場合、以下のページを参照すること。<br>
* [[SSHを有効にする方法(CentOS)]]
* [[SSHを有効にする方法(SUSE)]]
sudo vi /etc/ssh/sshd_config
<br>
# /etc/ssh/sshd_configファイル
GatewayPorts yes
<br>
設定後、SSHサービスを再起動する。<br>
sudo systemctl restart sshd
<br>
==== 開発用PCの設定 ====
まず、リモートサーバにあるPHPプロジェクト(ドキュメントルートにあるファイル)を開発用PCにコピーする。<br>
rsync -avz --rsync-path="sudo rsync" --delete --rsh="ssh" <リモートサーバのユーザ名>@<リモートサーバのIPアドレス>:<ドキュメントルートのフルパス> <開発用PCのPHPプロジェクトのフルパス>
<br>
次に、リモートサーバと開発環境の間にSSHトンネルを作成する。<br>
ターミナルよりもVSCode等のIDE付属ターミナルで実行する方が便利である。<br>
ssh -R <VSCode等のIDEで設定する任意のポート番号>:<開発用PCのIPアドレス>:<xdebug.remote_portで設定したポート番号> <リモートサーバのユーザ名>@<リモートサーバのIPアドレス>
# 例
ssh -R 9000:192.168.1.10:9000 hoge@192.168.1.20
<br>
VSCodeで開発を行う場合、VSCodeからPHP Debug拡張機能をインストールする。<br>
launch.jsonファイルに、以下の設定を追記する。<br>
<syntaxhighlight lang="json">
// ...略
{
    "name": "Listen for XDebug",
    "type": "php",
    "request": "launch",
    "port": <上記のsshコマンドで設定した任意のポート番号>,
    "log": true,
    "pathMappings": {
      "<Webサーバのドキュメントルートのフルパス>": "${workspaceFolder}"
    }
}
// ...略
</syntaxhighlight>
<br>
最後に、PHPプロジェクトがデバッグできるかどうか確認する。<br>
<br><br>
<br><br>


__FORCETOC__
__FORCETOC__
[[カテゴリ:CentOS]][[カテゴリ:SUSE]]
[[カテゴリ:CentOS]][[カテゴリ:SUSE]]

案内メニュー