【 PHP 】PHP8に入門してみた 16日目 環境構築を進める ( VS Codeなど )

PHP8技術者認定初級試験 が始まるようなので 試験に向けて (できるだけ)勉強しようと思います! 使用する書籍は独習PHP 第4版(山田 祥寛)|翔泳社の本 (shoeisha.co.jp) となります。

環境構築を進める

VS Codeなど

VS Codeで起動してみる

VS CodeReopen In Containerに失敗してしまいました。

問題を解決してみます。

ログを確認してみると、以下のように出力されていました。

・・・
[2022-08-28T11:27:08.912Z] Start: Inspecting container
[2022-08-28T11:27:08.912Z] Start: Run: docker inspect --type container 710f64f69f459c68afef3cf57aa108fe7be0691cde47c741d9ef4ec6dd8227f2
[2022-08-28T11:27:09.113Z] Stop (201 ms): Run: docker inspect --type container 710f64f69f459c68afef3cf57aa108fe7be0691cde47c741d9ef4ec6dd8227f2
[2022-08-28T11:27:09.113Z] Stop (201 ms): Inspecting container
[2022-08-28T11:27:09.114Z] Start: Run in container: /bin/sh
[2022-08-28T11:27:09.150Z] Start: Run in container: uname -m
[2022-08-28T11:27:09.331Z] Stop (217 ms): Run in container: /bin/sh
[2022-08-28T11:27:09.332Z] Shell server terminated (code: 126, signal: null)
[2022-08-28T11:27:09.332Z] unable to find user vscode: no matching entries in passwd file
・・・
devcontainer.jsonの修正

「vscode」というユーザが見つからないと言っているようです。
以下のサイトにも情報がありました。
【LPIC資格試験】Linuxコマンド確認用にdockerでLinux環境を構築する – プログラミング学習用 (hatenablog.com)

なるほど・・・devcontainer.jsonファイルのremoteUserをrootに修正すればよいようです。

とりあえず修正してみます。

変更前

"remoteUser": "vscode",

変更後

"remoteUser": "root",
.env

(各Dockerfileでvscodeユーザの体で設定していたような・・・)

ということで.envに以下の項目を追加します。
USERNAME=root

次に、この項目を使用している「workspace」を再ビルドします!

PS D:\dockers\files\php8_study\.devcontainer> docker-compose build workspace
Building workspace
[+] Building 5.0s (10/10) FINISHED
 => [internal] load build definition from Dockerfile                                                               0.0s
 => => transferring dockerfile: 32B                                                                                0.0s
 => [internal] load .dockerignore                                                                                  0.0s
 => => transferring context: 2B                                                                                    0.0s
 => [internal] load metadata for docker.io/library/php:8.1-cli-bullseye                                            3.3s
 => FROM docker.io/library/composer:2.4                                                                            1.6s
 => => resolve docker.io/library/composer:2.4                                                                      1.6s
 => FROM docker.io/library/node:18.7                                                                               1.4s
 => => resolve docker.io/library/node:18.7                                                                         1.4s
 => [stage-0 1/4] FROM docker.io/library/php:8.1-cli-bullseye@sha256:dacfe5971d996c3ddb26374728a7789fabc7c871a871  0.0s
 => CACHED [stage-0 2/4] COPY --from=composer:2.4 /usr/bin/composer /usr/bin/composer                              0.0s
 => CACHED [stage-0 3/4] COPY --from=node:18.7 /usr/local/bin /usr/local/bin                                       0.0s
 => CACHED [stage-0 4/4] RUN apt-get update     && apt-get install -y bash-completion curl dnsutils git imagemagi  0.0s
 => exporting to image                                                                                             0.0s
 => => exporting layers                                                                                            0.0s
 => => writing image sha256:29f54ab75644703dbf26155417ea2293c1d9bd9b006df6634b6a9af5dc94fdbf                       0.0s
 => => naming to docker.io/library/devcontainer_workspace                                                          0.0s

Use 'docker scan' to run Snyk tests against images to find vulnerabilities and learn how to fix them
PS D:\dockers\files\php8_study\.devcontainer>
再トライ

それではもう一度Reopen In Containerを実行してみます。

・・・ん?完成・・・したのでしょうか?

拡張機能を確認するとDocker開発環境内(PHP DEVELOPMENT)内にdevcontainer.jsonで指定したPHP Intelephenseが導入されています。

大丈夫そうですね。

VS Code内のターミナルでPHPのバージョンを確認してみました。
うまくできているようです😊

root@710f64f69f45:/var/www# php -v
PHP 8.1.9 (cli) (built: Aug 23 2022 13:59:34) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.1.9, Copyright (c) Zend Technologies
    with Xdebug v3.1.1, Copyright (c) 2002-2021, by Derick Rethans
root@710f64f69f45:/var/www# 

メモ

なんとかスタート地点に立てそう!

PHPPHP

Posted by raika@blog