DockerのphpMyAdmin環境のupload_max_filesizeを変更する
DockerでphpMyAdminの環境を構築し、DBに10M程度のデータをインポートしようとしたのですが、以下のエラーが発生しました。
Warning: POST Content-Length of xxxxxxx bytes exceeds the limit of xxxxxxx bytes in Unknown on line 0
アップロードしようとしたファイル容量が、PHP設定の上限を超えてるようです。
この場合、PHPの以下の設定項目を調整すればよいのですが、、
- memory_limit
- post_max_size
- upload_max_filesize
過去記事を参考にphp.iniを設置してみますが、なかなかコンテナに設定が反映されません。
phpMyAdminなどPHPシステムで扱えるファイルの最大サイズを変更する
コンテナに接続して設定ファイルの構成を調べてみると、どうやらファイル「/usr/local/etc/php/conf.d/phpmyadmin-misc.ini」で設定しているようです。
ファイルの中身は以下のとおりです。環境変数が用意されています。
allow_url_fopen=Off max_execution_time=${MAX_EXECUTION_TIME} max_input_vars=10000 memory_limit=${MEMORY_LIMIT} post_max_size=${UPLOAD_LIMIT} upload_max_filesize=${UPLOAD_LIMIT}
そこで、docker-compose.ymlで環境変数を設定します。(要点を除いて省略しています)
services: phpmyadmin: image: phpmyadmin/phpmyadmin:latest environment: MEMORY_LIMIT: 128M UPLOAD_LIMIT: 64M
コンテナを再起動して、ファイル上限が64Mに変更できました。
無事、DBに10Mのデータをインポートする事ができました。
コメントする