i have a docker-compose.yml that looks like this:
webserver:
build: ./_docker/php
ports:
- 80:80
links:
- mysql
volumes_from:
- app
mysql:
image: mysql:5.7
environment:
MYSQL_DATABASE: "${DB_NAME}"
MYSQL_USER: "${DB_USER}"
MYSQL_ROOT_PASSWORD: "${DB_ROOT_PW}"
MYSQL_PASSWORD: "${DB_PW}"
volumes:
- ./_docker/data/db:/docker-entrypoint-initdb.d
volumes_from:
- data
data:
image: mysql:5.7
volumes:
- /var/lib/mysql
command: "true"
phpmyadmin:
image: phpmyadmin/phpmyadmin
ports:
- 8080:80
links:
- mysql
environment:
PMA_HOST: mysql
app:
image: tianon/true
volumes:
- .:/var/www/public_html
Dockerfile looks like this:
FROM php:7.0-apache
#php:7.2.2-apache
#php:5.6.33-apache
COPY php.ini /usr/local/etc/php/
COPY 000-default.conf /etc/apache2/sites-available/
RUN a2enmod rewrite
RUN a2enmod expires
RUN a2enmod headers
RUN apt-get update
RUN apt-get install -y zlib1g-dev libxml2-dev libfreetype6-dev libjpeg62-turbo-dev libmcrypt-dev libpng12.0 imagemagick
RUN docker-php-ext-install mysqli zip soap
RUN docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/
RUN docker-php-ext-install gd
# Install opcache
RUN docker-php-ext-install opcache
and the php ini like this:
max_input_vars = 1500
max_execution_time = 300
post_max_size=50M
upload_max_filesize=50M
when i start the container i have my webserver located on http://localhost
.
i put an index.php
with a phpinfo();
inside it and it shows, that the php.ini
works.
When i open http://localhost:8080
and login to PMA it shows me that my upload limit i set to 2048KiB.
Where can i change this?
Thanks in advance!
8
Answers
I implemented
UPLOAD_LIMIT
ENV variable inhttps://github.com/phpmyadmin/docker/pull/261/files#diff-80edf79b0f382a3c6e871ac209ffd6abR57
In my case I couldn’t fix it with UPLOAD_LIMIT, so without further debugging I needed a quick solution even if it’s temporary:
open phpmyadmin container terminal:
docker exec -it container_name bash
If you don’t have vim or nano editor install one:
apt-get update
,apt-get install vim
vi /usr/local/php/conf.d/myconf.ini
with this content:
post_max_size=50M
upload_max_filesize=50M
restart container
Remember these changes will be gone when container is recreated, it’s just a temporary solution. Try working with UPLOAD_LIMIT as suggested in previous answer.
UPDATE
Tried again with setting upload_limit environment, but still without luck, so found another solution:
created a file say
uploads.ini
with this content:and link it to container volume :
Use like this
UPLOAD_LIMIT
env in docker. This is from my docker-compose.yml. Default value forUPLOAD_LIMIT
is 2048K which is 2048KiB. Setting value to 300M increases it to 300MiB.Reference: https://github.com/phpmyadmin/docker#environment-variables-summary
the following worked very well.
My docker-compose.yml contains this:
The following entry was added to the phpmyadmin.env: UPLOAD_LIMIT=256MB
The larger number (Maximal: 256MiB) showed up right after the container was brought down and was back up again.
you need to use
UPLOAD_LIMIT
insideenviroment
, and you need to specify values with = sign, like example:UPLOAD_LIMIT=300M
If you want to install from phpmyadmin docker image and with docker run, you can exec this.
docker run –name your-image-name -d –link mysql-docker:db –env "UPLOAD_LIMIT=256M" phpmyadmin
This works for me and enable upload to 256MB SQL file.
UPLOAD_LIMIT: 500M
I edit this file :
and set new values :
It works fine.