0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Dockerのphp:XX-apacheでpdo_mysqlを使用したい時は

Posted at

よくあるPHPのLAMP環境をDockerで再現しようとした時

  • Dockerfile
FROM php:7.2-apache
WORKDIR /var/www/html/
RUN echo "<?php" > index.php && echo "phpinfo();" >> index.php

でDocker起動

docker build -t phptest .
docker run -it -d --name phptest2021 -p 80:80 phptest:latest

localhostでphpinfoを見てみると
スクリーンショット 2021-03-21 16.07.47.png

ああ、sqliteしかないのか・・

MySQLやMariaDBを使用したいので、
https://www.php.net/manual/ja/ref.pdo-mysql.php
これが使いたいんですよね・・

そんな時は

docker-php-ext-install

を使う。

  • Dockerfile 書き直す。
FROM php:7.2-apache
RUN docker-php-ext-install pdo_mysql && docker-php-ext-enable pdo_mysql
WORKDIR /var/www/html/
RUN echo "<?php" > index.php && echo "phpinfo();" >> index.php

でもう一度Docker起動

docker build -t phptest .
docker run -it -d --name phptest2021 -p 80:80 phptest:latest

localhostでphpinfoを見てみると
スクリーンショット 2021-03-21 16.10.41.png

PDOが使用で切ることを確認。

  • おまけ
docker-php-ext-install

このコマンドを知らなかったときは
https://pentan.info/php/pdo_mysql_install.html
直接上記をやろうとして時間を浪費しました。
他にも

docker-php-ext-install mysqli mbstring gd iconv

色々インストールできます。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?