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-development
とphp.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