#author("2025-07-01T07:07:56+00:00","","")
#mynavi(PHPメモ)
#setlinebreak(on);
#mydateinfo(2025-06-03)
* 概要 [#g639180e]
PHP8.3、MariaDB、Apacheの開発環境を構築時のメモ。
* 目次 [#rf5a58fe]
#contents
* docker-compose [#y413e56a]
#mycode2(){{
version: "3"
services:
php83-sample-web:
build:
context: ./container_php
dockerfile: Dockerfile
container_name: php83-sample-web
volumes:
- ./:/var/www/html
- ./volumes/logs:/var/log/apache2
#- ./volumes/apache2:/etc/apache2
ports:
- 8885:80
# 一応、他コンテナのDBにも繋げるように
extra_hosts:
- "host.docker.internal:host-gateway"
php83-sample-db:
#build:
# context: ./container_mysql
# dockerfile: Dockerfile
image: mariadb:10.6.8
hostname: php83-sample-db
container_name: php83-sample-db
environment:
- MARIADB_USER=sample
- MARIADB_PASSWORD=sample
- MARIADB_ROOT_PASSWORD=sample
volumes:
- ./volumes/data:/var/lib/mysql
ports:
- 3305:3306
# デフォルトでクライアント文字コードが latin1 になってしまう為、起動時に指定
command: >
mariadbd --character-set-server=utf8mb4 --character-set-client-handshake=false --character-set-client=utf8mb4
}}
* Docker(PHP8.3) [#e4903eb7]
composer 対応あり。
container_php/Dockerfile
#mycode2(){{
FROM php:8.3-apache
RUN apt update
RUN apt install -y git
# Composerインストール
RUN curl -sS https://getcomposer.org/installer | php \
&& mv composer.phar /usr/local/bin/composer
# 作業ディレクトリ
WORKDIR /var/www/html
# 各種エクステンションのインストール
ARG myenv_file=docker-php-ext-myenv.ini
RUN apt install -y libzip-dev libicu-dev libonig-dev libpng-dev
RUN apt-get install -y --no-install-recommends zip unzip && docker-php-ext-install zip intl pdo pdo_mysql mysqli mbstring gd
RUN echo extension=zip>>/usr/local/etc/php/conf.d/${myenv_file}
RUN echo extension=intl>>/usr/local/etc/php/conf.d/${myenv_file}
# CakePHPプロジェクト作成
# RUN composer create-project --prefer-dist cakephp/app:^5.0 sampleapp
RUN a2enmod rewrite
EXPOSE 80
}}