PlanetScaleにコンテナで動かしているphpMyAdminから繋ぎたい。
何も考えずに接続すると以下のようなエラーが発生する。
mysqli::real_connect(): (HY000/1105): unknown error: Code: UNAVAILABLE server does not allow insecure connections, client must use SSL/TLS
PlanetScaleのようなインターネット越しで接続するDBサービスは接続を暗号化することを求めてくる。そりゃそうだ。
- 何をすればPlanetScaleにPHPから繋がるか?
- phpMyAdminの追加設定
- phpmyadminのイメージへ追加設定をする手法
- https://hub.docker.com/_/phpmyadmin
Adding Custom Configuration You can add your own custom config.inc.php settings (such as Configuration Storage setup) by creating a file named config.user.inc.php with the various user defined settings in it, and then linking it into the container using:
-v /some/local/directory/config.user.inc.php:/etc/phpmyadmin/config.user.inc.php
こんな感じ。
GitHub - 7474/phpmyadmin-with-basic-auth
<?php // config.user.inc.php // for PlanetScale if ($_ENV['PMA_SSL']) { for ($i = 1; isset($hosts[$i - 1]); $i++) { $cfg['Servers'][$i]['ssl_ca'] = '/etc/ssl/certs/ca-certificates.crt'; $cfg['Servers'][$i]['ssl'] = true; } }
FROM phpmyadmin/phpmyadmin:5.2.1 # Dockerfile COPY config.user.inc.php /etc/phpmyadmin/config.user.inc.php
繋がってめでたし。