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/bashphp.ini の配置場所
php.ini は毎回どこにあるのか忘れてしまします。よく見るコマンドはgrepなんだけど、php --iniを打つとPathが表示されるので便利です。
$ php --iniphp.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.iniviコマンドがない時は、インストールしましょう。
$ apt-get update
$ apt-get install vimphp.iniでは、upload_max_filesize, post_max_sizeのそれぞれの値を更新します。
2MBから10MBにするときは下記のようにして保存します。
upload_max_filesize = 10MB
post_max_size = 10MBコマンドを叩いてDockerから抜けます。
$ exitDockerを再起動
Dockerの場合は、コンテナ起動時にphp.iniを読み込むので、Dockerを再起動すると、反映されます。
アプリケーションから再起動した方が楽ですが、いちおうコマンドはこちら。
$ docker-compose restart [SERVICE NAME]ちなみに、通常はApacheを再起動して反映しますが、コマンドはOSごとに異なるので、まずはOSを確認します。
$ cat /etc/os-releaseそして、OSに応じてApacheのリスタートコマンドを打てば反映されます。
下記はDebianの場合です。
$ service apache2 restart