Dockerで構築したWordPressで、php.iniを更新する。

DockerでWordPressを構築した。
この時、本番と仮想環境でファイルアップロード制限(upload_max_filesize, post_max_size)が異なっていたので、php.iniを変更した流れを書いてます。

目次

Dockerにログインする

まずはサービス名を調べます。
Docker composeを使っているので、下記コマンドでSERVICEが表示されます。

$ docker-compose ps

ここで取得したSERVICE名を渡してDockerへログインします。
exec は、既存のコンテナの中で新しいコマンドを実行するために使用されます。
-it で、コマンドのインタラクティブな操作が可能になります。
/bin/bash をつけることで、コンテナ内で実行するコマンドを指定できます。

$ docker-compose exec -it [SERVICE NAME] /bin/bash

php.ini の配置場所

php.ini は毎回どこにあるのか忘れてしまします。よく見るコマンドはgrepなんだけど、php --iniを打つとPathが表示されるので便利です。

$ php --ini

php.iniの編集

lsすると、php.ini-developmentphp.ini-productionが存在することが確認できます。
それぞれの環境向けに推奨される設定を含んだテンプレートファイルです。

php.ini-developmentまたはphp.ini-productionのいずれかをベースにして、コピーして名前をphp.iniに変更します。開発時のログを見たい時は、php.ini-developmentをコピーしましょう。

$ cp php.ini-development php.ini

作成したphp.iniを編集して、ファイルアップロード制限を変更します。

$ vi php.ini

viコマンドがない時は、インストールしましょう。

$ apt-get update
$ apt-get install vim

php.iniでは、upload_max_filesize, post_max_sizeのそれぞれの値を更新します。
2MBから10MBにするときは下記のようにして保存します。

upload_max_filesize = 10MB
post_max_size = 10MB

コマンドを叩いてDockerから抜けます。

$ exit

Dockerを再起動

Dockerの場合は、コンテナ起動時にphp.iniを読み込むので、Dockerを再起動すると、反映されます。

アプリケーションから再起動した方が楽ですが、いちおうコマンドはこちら。

$ docker-compose restart [SERVICE NAME]

ちなみに、通常はApacheを再起動して反映しますが、コマンドはOSごとに異なるので、まずはOSを確認します。

$ cat /etc/os-release

そして、OSに応じてApacheのリスタートコマンドを打てば反映されます。
下記はDebianの場合です。

$ service apache2 restart
よかったらシェアしてね!
目次