VSCodeのPHPのExecutable PathにDockerコンテナ内のPHPを設定する
Visual Studio Code(VSCode)のPHPのExecutable PathにDockerコンテナ内のPHPを設定します。
こちらのページを参考にさせていただいてます。
環境
- Ubuntu 22.04.3 LTS (WSLで起動している)
- Docker Engine 26.0.0
- PHP 8.2.15
- Visual Studio Code 1.87.2
前提
- PHPをインストールしているDockerコンテナがある。
WSL上のDockerコンテナで動くLaravelプロジェクトの構築についてはこちらをご覧ください。 - Visual Studio Codeをインストールしている。
設定の流れ
1. DockerコンテナでPHPを実行するスクリプトを作成する
DockerコンテナでPHPを実行するスクリプトを作成します。
Docker Composeの場合
VSCodeで開いているプロジェクト内の docker-compose.yml
があるディレクトリに php.sh
を作成します。
php.sh
:
#!/bin/bash
docker compose exec <サービス名> php $@
Docker Composeじゃない場合
VSCodeで開いているプロジェクト内の任意のディレクトリに php.sh
を作成します。
php.sh
:
#!/bin/bash
docker exec -it <コンテナ名> php $@
$@
はシェルスクリプトの引数です。php.sh <引数1> <引数2>
の場合、<引数1> <引数2>
を表します。これでDockerコンテナ内で任意の引数でPHPを実行できるようになります。
2. VSCodeのPHPの設定を変更する
VSCodeのPHPの設定を変更します。
VSCodeを開き、「設定」をクリックします。
「ワークスペース」タブを選択し、「拡張機能」の「PHP」をクリックします。
php.validate.executablePath
の「setting.jsonで編集」をクリックします。
setting.json
の php.validate.executablePath
に php.sh
のパスを指定します。
今回はワークスペースのルートディレクトリに置いています。
setting.json
:
{
"php.validate.executablePath": "./php.sh", // 追加
"php.validate.run": "onType"
}
※ php.validate.run
を「onType」にすると、入力時にPHPの検証が行われ、エラーのときはエラーが表示されるようになります。
Executable PathにDockerコンテナ内のPHPを設定できました。
Executable Pathに関する警告も出なくなったと思います。