【Docker】クラウドサーバーでLAMP環境構築してみたpart4

前回からの続き

前回まででPHPとMySQLの連携を行いました

今回はphpMyAdminの利用、実際にpdoを使ってプログラムでDBにアクセスしてみます

・phpMyAdminを利用する

PHPとMySQLの連携確認用にphpMyAdminをホスト側に導入します

[root@dev381 ~]# cd /docker/www/

phpMyAdminのファイルをダウンロード
[root@dev381 www]# wget https://files.phpmyadmin.net/phpMyAdmin/4.4.13.1/phpMyAdmin-4.4.13.1-all-languages.tar.gz
–2017-06-09 13:11:01– https://files.phpmyadmin.net/phpMyAdmin/4.4.13.1/phpMyAdmin-4.4.13.1-all-languages.tar.gz
Resolving files.phpmyadmin.net (files.phpmyadmin.net)… 188.172.202.23
Connecting to files.phpmyadmin.net (files.phpmyadmin.net)|188.172.202.23|:443… connected.
HTTP request sent, awaiting response… 200 OK
Length: 9424782 (9.0M) [application/octet-stream]
Saving to: ‘phpMyAdmin-4.4.13.1-all-languages.tar.gz’

100%[=====================================================================>] 9,424,782 5.83MB/s in 1.5s

2017-06-09 13:11:03 (5.83 MB/s) – ‘phpMyAdmin-4.4.13.1-all-languages.tar.gz’ saved [9424782/9424782]

ダウンロードしたファイルを解凍

[root@dev381 www]# tar zxf phpMyAdmin-4.4.13.1-all-languages.tar.gz

ファイルを確認
[root@dev381 www]# ls
index.php phpMyAdmin-4.4.13.1-all-languages phpMyAdmin-4.4.13.1-all-languages.tar.gz

不要なファイルを削除
[root@dev381 www]# rm phpMyAdmin-4.4.13.1-all-languages.tar.gz
rm: remove regular file ‘phpMyAdmin-4.4.13.1-all-languages.tar.gz’? y
[root@dev381 www]# ls
index.php phpMyAdmin-4.4.13.1-all-languages

リネームしておく
[root@dev381 www]# mv phpMyAdmin-4.4.13.1-all-languages myadmin
[root@dev381 www]# ls
index.php myadmin
[root@dev381 www]# cd myadmin/

DB設定ファイルのバックアップをとっておく
[root@dev381 myadmin]# cp config.sample.inc.php config.inc.php
[root@dev381 myadmin]# vi config.inc.php

以下のようにhostをlocalhostからmysqlに書き換えて保存

$cfg['Servers'][$i]['host'] = 'mysql';

hostをlocalhostから--linkオプションにより設定されたホスト名mysqlに変更します。

[root@dev381 myadmin]# cd ..
[root@dev381 www]# ls
index.php myadmin

ipアドレス/myadmin、と言った感じでブラウザで開いてみて、ID:root、PW:passでログインできれば成功

PDOを使ったプログラムを確認のため作ります

[root@dev381 www]# vi test.php

以下の内容を記述して保存

<title>テスト</title>
<?php
$db = new PDO('mysql:host=mysql;dbname=test', 'root', 'pass');
$db->query("INSERT INTO test VALUES('テスト太郎')");
$st = $db->query("SELECT * FROM test");
var_dump($st->fetchAll());

phpMyAdminで以下SQL文を流す

CREATE DATABASE if not exists test;
USE test;
CREATE TABLE test(id int not null auto_increment, name VARCHAR(100), primary key(id));

ipアドレス/test.phpという感じでブラウザでアクセス

phpMyAdminで先程作成したテーブルにテスト太郎って値が入ったらおk

以上でDockerを利用してPHP、MySQL、phpMyAdminの環境構築は完了です

シェアする

  • このエントリーをはてなブックマークに追加

フォローする