Docker環境におけるphpMyAdminアップロードサイズ制限の変更方法

2025.09.26


こんにちは、エンジニアのやまじです。

Web開発に携わっていると、Docker環境とphpMyAdminをセットで使うことがあります。
そんな時、本番環境のサーバーからエクスポートしたSQLファイルをインポートしようとしたら次のようなエラーメッセージに遭遇した経験はありませんか?

アップロードファイルサイズの上限(最大: 2,048KiB)を超えています

phpMyAdminはデフォルトのアップロード上限が2048KiB(約2.1MB)と非常に小さいため、規模の大きいサイトのデータを扱おうとすると、この制限に引っかかってアップロードに失敗してしまいます。

今回はこの煩わしいデータベースの容量制限を簡単に変更する方法をご紹介します。

方法1:docker-compose.yml を変更する(オススメ)

Docker版のphpMyAdminでは、UPLOAD_LIMIT 環境変数でアップロード上限サイズを簡単に変更できます。

docker-compose.yml を使って管理している場合、phpmyadmin サービスの environmentUPLOAD_LIMIT を追加するだけです。

docker-compose.yml の変更方法

例えば、アップロード上限を 64MB に引き上げたい場合、phpmyadmin サービスの environment に以下の2行を追加します。

version: '3.8'

phpmyadmin:
 depends_on:
  - mysql
 image: phpmyadmin/phpmyadmin:${PHPMYADMIN_VERSION:-latest}
 container_name: ${COMPOSE_PROJECT_NAME}_phpmyadmin
 restart: always
 ports:
  - ${PHPMYADMIN_PORT}:80
 environment:
 PMA_HOST: mysql
 MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD:-password}
 MEMORY_LIMIT: 128M ←追加
 UPLOAD_LIMIT: 64M ←追加

UPLOAD_LIMIT: 64M → phpMyAdminにアップロードできるファイルの最大サイズを64MBに設定します。

MEMORY_LIMIT: 128M → アップロードしたファイルを処理する際にPHPが使用できるメモリ(RAM)の上限を128MBに設定します。一般的に、この値はUPLOAD_LIMITよりも大きく設定する必要があります。

上記の2行をdocker-compose.yml に追加後、ターミナルから以下コマンドを実行してコンテナを再起動して設定を反映します。

docker-compose up -d 

設定反映

Docker環境のphpMyAdminにアクセスし、インポート画面を確認してみてください。以下画面のように上限サイズが変更されているはずです。

これでもう容量制限を気にする必要はなくなりました!


方法2:起動中のコンテナを一時的に編集する

この方法の最大のメリットは、docker-compose.ymlなどを編集せず、ターミナル操作だけで稼働中のコンテナの設定変更を試せる手軽さにあります。

※この方法での変更は、コンテナを再作成するとリセットされます。あくまで、すぐに試したい場合の一時的な対応としてお使いください。

ステップ1:コンテナ名を確認

docker ps

まず、上記コマンドで現在起動中のコンテナのリストを表示し、対象となるphpMyAdminのコンテナ名(例: wp-hajime-test)を確認します。

ステップ2:コンテナ内でコマンドを実行する

docker exec -it wp-hajime-test /bin/sh

確認したコンテナ名を使ってコンテナ内に入り、操作用のシェルを起動します。

ステップ3:設定ファイル作成

echo "upload_max_filesize = 128M\npost_max_size = 128M" > /usr/local/etc/php/conf.d/uploads.ini

コンテナ内で以下のコマンドを実行し、PHPのアップロード上限を128MBに引き上げるための設定ファイル(uploads.ini)を所定の場所に作成します。

ステップ4:再起動

apache2ctl restart

作成した設定ファイルを読み込ませるため、コンテナ内でApacheを再起動します。

ステップ5:操作を終了する

exit

最後に、exitコマンドでコンテナ内のシェルを終了し、元のターミナルに戻ります。

まとめ

今回は、Docker版phpMyAdminのアップロード上限サイズを変更する2つの方法をご紹介しました。

【方法1】docker-compose.yml を変更

プロジェクトとして設定を恒久的に変更しておきたい人向け。

【方法2 】コンテナを直接編集

一時的でいいからすぐに設定を変更して試したい、動作テストがしたい人向け。

今回の方法を使えば、どんなに容量の大きいSQLデータも問題なくインポートができるようになり、

SQLデータのインポートエラーに悩まされることもなくなるはずです。

この記事が、どなたかの一助となれば幸いです!


🏢 株式会社ハジメクリエイトについて

この記事は、 株式会社ハジメクリエイト のエンジニアが執筆しました。


💻 Webシステム開発のプロフェッショナル

私たちは、ビジネスの成長をサポートするため、 PHPを用いたオーダーメイドのシステム開発 を提供しています。
お客様一人ひとりのニーズに応じたカスタムシステムを、 企画から開発・運用まで一貫してサポート
さらに、 React Nativeを活用したiOS/Android対応のアプリ開発 も得意としています。

単に「作る」だけでなく、
課題の本質に向き合い、最適な解決策を提案する のがハジメクリエイトのスタイルです。


🧑‍💻 一緒に働く仲間を探しています!

株式会社ハジメクリエイトでは、 自ら考え行動できるエンジニア を募集しています。
「私はこれがしたい!」という想いを持つあなた、一緒にモノづくりを楽しみませんか?

  • 技術で人の役に立ちたい
  • 意見が通る小さなチームで働きたい
  • フロントエンドもバックエンドも、いろいろ挑戦してみたい
  • お客さんと一緒にプロジェクトを育てたい

そんな気持ちがある方なら、きっと居心地のいい環境だと思います。
正社員はもちろん、パートタイムでの参加も歓迎中! 柔軟な関わり方で、あなたらしく働いてください。

👉 採用情報を見る
👉 お問い合わせはこちら


ちょっとでも「この会社、気になるな」と思ったら、ぜひお気軽にご連絡ください📩
最後まで読んでいただきありがとうございました!

  • Web技術

この記事を書いた人

やまじ

ジュニアエンジニア やまじ

2024年8月に入社したエンジニアです。日々の勉強を通して学んだこと・知ったことを本ブログでも投稿していきたいと思います。よろしくお願いします。

やまじの書いた記事一覧へ

ハジメクリエイトでは一緒に働く仲間を募集しています!

関連記事