diff --git a/.gitignore b/.gitignore index 16d54bb..cda63ba 100644 --- a/.gitignore +++ b/.gitignore @@ -22,3 +22,4 @@ # jetbrains setting folder .idea/ +.php-cs-fixer.cache diff --git a/docker/.env.example b/docker/.env.example new file mode 100644 index 0000000..870c717 --- /dev/null +++ b/docker/.env.example @@ -0,0 +1,8 @@ +# Webサーバー (Apache) がホストOSで公開されるポート番号 +WEB_PORT=8080 + +# データベース (MySQL) がホストOSで公開されるポート番号 +DB_PORT=3306 + +# phpMyAdmin がホストOSで公開されるポート番号 +PHPMYADMIN_PORT=8081 \ No newline at end of file diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml new file mode 100644 index 0000000..b41faee --- /dev/null +++ b/docker/docker-compose.yml @@ -0,0 +1,44 @@ +version: "3.8" + +services: + web: + image: php:8.2-apache + ports: + - "${WEB_PORT:-8080}:80" + volumes: + - ./src:/var/www/html + + depends_on: + - db + + container_name: hello-programmer-world_web + + db: + image: mysql:8.0 + restart: unless-stopped + environment: + MYSQL_DATABASE: "trainee_db" + MYSQL_USER: "trainee_user" + MYSQL_PASSWORD: "trainee_password" + MYSQL_ROOT_PASSWORD: "root_password" + + volumes: + - db_data:/var/lib/mysql + ports: + - "${DB_PORT:-3306}:3306" + + container_name: hello-programmer-world_db + + phpmyadmin: + image: phpmyadmin/phpmyadmin + ports: + - "${PHPMYADMIN_PORT:-8081}:80" + environment: + PMA_HOST: db + MYSQL_ROOT_PASSWORD: root_password # データベースサービスのrootパスワードと同じもの + depends_on: + - db + container_name: hello-programmer-world_phpmyadmin + +volumes: + db_data: diff --git a/docker/src/index.php b/docker/src/index.php new file mode 100644 index 0000000..b4a83eb --- /dev/null +++ b/docker/src/index.php @@ -0,0 +1,23 @@ +"; + echo json_encode($message, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES); + echo ""; +} + +?> + + + + + + Hello PHP World! + + + こんにちは、さん! + + + diff --git a/src/pages/php/010-foundation.mdx b/src/pages/php/010-foundation.mdx new file mode 100644 index 0000000..14f2af1 --- /dev/null +++ b/src/pages/php/010-foundation.mdx @@ -0,0 +1,11 @@ +--- +layout: "@/layouts/MarkdownLayout.astro" +--- + +import Toc from "../../components/Toc.astro"; + +export const title = "PHPとWebサーバー"; + +# {title} + +## TOC