前回からの続き
前回までで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の環境構築は完了です
コメント