2025年2月7日
読者の皆様んこんにちは。今日はVSCode上でPHPのプログラムをステップ実行する方法をお伝えします。PHPプログラムのデバッグは、コードの品質を向上させ、問題解決の時間を短縮するために重要です。Visual Studio Code(VSCode)は、拡張機能や設定を活用することで、リモートサーバー上でPHPプログラムをステップ実行することができます。本記事では、VSCodeを使ってサーバー上のPHPプログラムをデバッグする手順を詳しく解説します。
以下のツールが必要です:
また、以下の条件を満たす必要があります:
まず、VSCodeに「PHP Debug」という拡張機能をインストールします。
これで、VSCode上でPHPのデバッグが可能になります。
PHPのデバッグには、Xdebugという拡張機能が必要です。以下の手順で、サーバーにXdebugをインストールします。
サーバーにSSHでログイン。
以下のコマンドを実行して、Xdebugをインストールします:
sudo apt-get install php-xdebug # Ubuntu/Debianの場合
sudo yum install php-xdebug # CentOS/Red Hatの場合
または、PHPのインストールソースに含まれるPECLコマンドを使用:
sudo pecl install xdebug
インストール後、Xdebugの有効性を確認します:
php -m | grep xdebug
Xdebugを有効化するため、php.iniを編集します。
php.iniファイルを開く:
sudo nano /etc/php/7.x/cli/php.ini # 適切なパスに置き換えてください
以下の設定を追加または編集:
[Xdebug]
zend_extension=xdebug.so
xdebug.mode=debug
xdebug.start_with_request=yes
xdebug.client_host=192.168.xxx.xxx ; ローカルマシンのIPアドレス
xdebug.client_port=9003 ; デフォルトのポート番号
xdebug.log=/var/log/xdebug.log ; ログファイル(任意)
サーバー上のPHPサービスを再起動:
sudo service apache2 restart # Apacheの場合 sudo service php7.x-fpm restart # PHP-FPMの場
VSCodeでデバッグ環境を構築します。
{
"version": "0.2.0",
"configurations": [
{
"name": "Listen for Xdebug",
"type": "php",
"request": "launch",
"port": 9003,
"pathMappings": {
"/var/www/html": "${workspaceFolder}"
},
"log": true
}
]
}
ローカルとリモートのコードが一致している必要があります。ファイル同期には、以下の方法を使用できます:
rsync -avz --delete -e ssh ./local-folder/ user@remote-server:/var/www/html
VSCodeを使用したリモートサーバー上のPHPプログラムのステップ実行は、Xdebugと適切な設定を組み合わせることで実現できます。この手法を活用することで、効率的にバグを特定し、コードの品質を向上させることができます。