😃

PHPアプリにDB定義を記載すればDBコンテナと繋がる

2024/10/22に公開

PHPファイル(プログラムのファイル)にDB情報が書いてある。

そこにdocker-compose.ymlに記載したdbコンテナ内容を記載することで、
PHPアプリからDBコンテナにアクセスできるようになる!

PHPファイルで以下のようなDB定義が記載がされている箇所でDBと繋がれている

phpアプリファイル
"host" => "mydatabase",  // コンテナ名、コンテナのサービス名のどちらかみたい
"dbname" => "mydatabase",
"username" => "root",
"password" => "×××××××123",
'profiler' => true,
'charset' => "UTF8",

// それかこんな感じとかで記載ある↓
if (!defined("SERVER")) {
    define("SERVER", "mysql-db");
    define("USERNAME", "user");
  ・・・・
docker-compose.yml
db:
    image: mysql:8.0.29
    container_name: mydatabase
    platform: linux/amd64
    environment:
      TZ: Asia/Tokyo
      MYSQL_ROOT_PASSWORD: ×××××123  #rootアカウントに設定するためのパスワード
      MYSQL_DATABASE: db-mysql

ymlでusernameを定義しない場合は、usernameはデフォルトでrootになる。
新しくusernameを指定する場合はenvironmentに↓のように書く。

 environment:
  MYSQL_USER: root      # 新規ユーザ
  MYSQL_PASSWORD: ××××111  # 新規ユーザのパスワード設定

所感:
目に見える範囲ではこれだけでDBとPHPアプリが繋がれているんだと驚いた。

Discussion