forget for get

覚えるために忘れる

DockerでPHPからMySQLに接続してみる

Dockerfile

FROM php:7.4-apache
RUN docker-php-ext-install pdo_mysql
COPY src/ /var/www/html/

src/my.php

<?php
echo '接続します<br />';
try {
  $dbh = new PDO('mysql:host=mysql_1;dbname=test', 'root', 'root123');
  foreach($dbh->query('select * from users') as $row) {
    echo $row['name'] . '<br />';
  }
} catch (PDOException $e) {
    echo $e;
    die();
}
$dbh = null;
echo "end";

Dockerネットワーク作成

docker network create test-network
docker network ls
docker run -p 80:80 --network test-network -v /vmshare/php_docker/src:/var/www/html -d --name php_docker_1 php_docker
docker run --name mysql_1 --network test-network  -v /vmshare/mysql_docker/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root123 -d mysql:8.0