【 PHP 】PHP8に入門してみた 9日目 環境構築を進める ( Dockerのコンテナなど )
PHP8技術者認定初級試験 が始まるようなので 試験に向けて (できるだけ)勉強しようと思います! 使用する書籍は独習PHP 第4版(山田 祥寛)|翔泳社の本 (shoeisha.co.jp) となります。
環境構築を進める
Dockerのコンテナなど
.devcontainer/.env
.env
ファイルは参考サイトのままです。
TIME_ZONE=Asia/Tokyo
LOCALE=ja_JP.UTF-8
DB_DATABASE=docker
DB_USERNAME=docker
DB_PASSWORD=docker
# Local Loopback Address(127.0.0.0/8):
IP_ADDRESS_SETTING=127.127.127.127:
IPの指定でこんな書き方(127.0.0.1/8:
)あるんですね。。。と思ったら
.devcontainer/docker-compose.yml
で以下のように定義したから:
が必要になっただけのようです。
・・・
ports:
- "${IP_ADDRESS_SETTING}5432:5432"
・・・
なるほど・・・🤔
.devcontainer/docker/workspace/Dockerfile
workspace
のビルドファイルの定義です。
参考サイトではPHPのバージョン8.0-cli-bullseye
がイメージとして使用されているようですが今回は8.1-cli-bullseye
を使用するように修正します。
composerやnodeは今回必要無いかもしれません。
他にも今回不要なパッケージをインストールしていたりしますが・・・良しとします!
(参考書籍のを全部見ていないのでまだ不明)
FROM php:8.1-cli-bullseye
ARG USERNAME=vscode
ARG USER_UID=1000
ARG USER_GID=${USER_UID}
ARG LOCALE=en_US.UTF-8
ARG TIME_ZONE=UTC
ENV PKG="bash-completion curl dnsutils git imagemagick jq locales mariadb-client postgresql-client rsync sqlite3 tree unzip vim wget zip"
ENV PKG_LIB="libc-client-dev libfreetype6-dev libjpeg62-turbo-dev libkrb5-dev libmagickwand-dev libonig-dev libpng-dev libpq-dev libsqlite3-dev libxslt-dev libzip-dev"
ENV COMPOSER_ALLOW_SUPERUSER 1
ENV DEBIAN_FRONTEND noninteractive
ENV LANG=${LOCALE}
ENV TZ=${TIME_ZONE}
# 今回必要ないかもしれません
COPY --from=composer:2.4 /usr/bin/composer /usr/bin/composer
COPY --from=node:18.7 /usr/local/bin /usr/local/bin
RUN apt-get update \
&& apt-get install -y $PKG $PKG_LIB \
&& pecl install imagick redis-5.3.4 xdebug-3.1.1 \
&& docker-php-ext-configure imap --with-kerberos --with-imap-ssl \
&& docker-php-ext-enable imagick redis xdebug \
&& docker-php-ext-install bcmath gd imap intl pdo_mysql pdo_pgsql pdo_sqlite xml zip \
#
# locale
&& sed -i -E "s/# (${LOCALE})/\1/" /etc/locale.gen \
&& locale-gen ${LOCALE} \
&& dpkg-reconfigure locales \
&& update-locale LANG=${LOCALE} \
#
# timezone
&& ln -snf /usr/share/zoneinfo/${TIME_ZONE} /etc/localtime && echo ${TIME_ZONE} > /etc/timezone \
#
# user
&& groupadd --gid ${USER_GID} ${USERNAME} \
&& useradd -s /bin/bash --uid ${USER_UID} --gid ${USER_GID} -m ${USERNAME} \
&& apt-get install -y sudo \
&& echo ${USERNAME} ALL=\(root\) NOPASSWD:ALL > /etc/sudoers.d/${USERNAME} \
&& chmod 0440 /etc/sudoers.d/${USERNAME}
メモ
PHPはもう8.2
のベータが公開されているようです。
参考
VS Code Remote – Containers用PHP開発環境を構築する (zenn.dev)
ディスカッション
コメント一覧
まだ、コメントがありません