12,964
回編集
編集の要約なし |
|||
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]] |