Docker上のWordPress環境でアップロード時のファイルサイズ制限を外すには

Dockerを使用してWordPress環境を構築した際のファイルサイズ制限の変更手順を紹介します。
なお、この記事はDocker Hub上の公式イメージを使用して環境構築した場合を想定しています。

エラー例

アップロード時のファイルサイズ制限はメディアライブラリから確認することができます。
筆者が構築した環境ではデフォルト値が2MBとなっていました。

この状態で2MBを超えるメディアをアップロードしようとするとエラーが表示されます。

また、サイズ上限を超えるテーマファイルを適用しようとすると、以下のように「辿ったリンクは期限が切れています。」というエラーが発生します。

 

解決方法

ターミナルから次のコマンドを実行し、Dockerコンテナ内に入ります。
(コンテナIDはdocker psコマンドから確認できます。)

docker exec -it コンテナID /bin/bash

Docker Composeを使用している場合はこちらのコマンドでもコンテナに入ることが可能です。

docker-compose exec サービス名 /bin/bash

コンテナに入ったら、次のコマンドで設定ファイル用のディレクトリへ移動します。

cd /usr/local/etc/php/

lsコマンドでディレクトリ内のファイルを確認すると、以下のようになっているかと思います。

# ls
conf.d php.ini-development php.ini-production

php.ini-developmentまたはphp.ini-productionをphp.iniという名前で複製します。
それぞれ開発環境用、本番環境用のテンプレートとなっているため、お好きなほうを選択してください。
今回は通常のWordPress運用を想定し、php.ini-productionを複製します。

cp php.ini-production php.ini

次にphp.iniの内容を書き換えていきます。
vimを使用してファイルを編集します。

vim php.ini

このとき、コンテナ内にvimがインストールされていないとbash: vim: command not foundとエラーが出ます。その場合は以下のコマンドでvimをインストールしてください。

apt update
apt install vim

vimのエディターが開いたら、下記の設定をそれぞれ探し、任意の数値に書き換えます。
vimの操作方法についてはこの記事では省略させていただきます。

memory_limit =
post_max_size =
upload_max_filesize =

memory_limitはメモリ使用量の上限を、post_max_sizeはアップロード1回あたりの合計ファイルサイズ上限を、upload_max_filesizeはアップロードするファイル1つあたりのサイズ上限を表します。
例として、128MBに設定する場合は128M、1GBに設定する場合は1Gと入力してください。

書き換えが完了したら保存してvimを終了し、exitでコンテナを抜けてから以下のコマンドでコンテナを再起動してください。

docker restart コンテナID

Docker Composeを使用している場合はこちらのコマンドでも再起動することができます。

docker-compose restart

ブラウザからWordPressにアクセスし、ファイルサイズ制限の変更が反映されていれば完了となります。

 

以上となります。ご質問等ありましたら、コメント欄にてお願いします。

コメント

タイトルとURLをコピーしました