lvo*_*mer 18 php apache yaml phpmyadmin docker
我有一个 docker-compose.yml 看起来像这样:
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
Run Code Online (Sandbox Code Playgroud)
Dockerfile 看起来像这样:
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
Run Code Online (Sandbox Code Playgroud)
和 php ini 是这样的:
max_input_vars = 1500
max_execution_time = 300
post_max_size=50M
upload_max_filesize=50M
Run Code Online (Sandbox Code Playgroud)
当我启动容器时,我的网络服务器位于http://localhost
.
我index.php
在phpinfo();
里面放了一个,它显示,php.ini
有效。
当我打开http://localhost:8080
并登录到 PMA 时,它显示我的上传限制设置为 2048KiB。
我在哪里可以改变这个?
提前致谢!
小智 65
UPLOAD_LIMIT
在 docker 中像这样使用这个env。这是来自我的 docker-compose.yml。默认值为UPLOAD_LIMIT
2048K,即 2048KiB。将值设置为 300M 会将其增加到 300MiB。
参考:https : //github.com/phpmyadmin/docker#environment-variables-summary
phpmyadmin:
image: phpmyadmin/phpmyadmin
container_name: 'php7.3-phpmyadmin'
restart: 'always'
links:
- mysql
environment:
PMA_HOST: mysql
PMA_PORT: 3306
UPLOAD_LIMIT: 300M
ports:
- '8082:80'
volumes:
- /sessions
Run Code Online (Sandbox Code Playgroud)
小智 11
您需要使用UPLOAD_LIMIT
inside enviroment
,并且需要使用 = 符号指定值,例如:UPLOAD_LIMIT=300M
version: '3.1'
services:
db:
image: mysql
command: --default-authentication-plugin=mysql_native_password
restart: always
environment:
MYSQL_ROOT_PASSWORD: somerandompasswordgenerated
ports:
- 3306:3306
phpmyadmin:
image: phpmyadmin
restart: always
ports:
- 8080:80
environment:
- PMA_ARBITRARY=1
- UPLOAD_LIMIT=300M
Run Code Online (Sandbox Code Playgroud)
小智 9
上传限制:500M
mariadb:
image: mariadb:latest
container_name: w-mariadb
restart: always
ports:
- "3307:3306"
environment:
MYSQL_DATABASE: db_name
MYSQL_USER: root
MYSQL_PASSWORD: db_password
MYSQL_ROOT_PASSWORD: db_password
volumes:
- 'w-mariadb:/var/lib/mysql'
networks:
- w-network
phpmyadmin:
image: phpmyadmin/phpmyadmin
container_name: w-phpmyadmin
links:
- mariadb
environment:
MYSQL_ROOT_PASSWORD: db_password
PMA_HOST: mariadb
UPLOAD_LIMIT: 500M
restart: always
ports:
- '8383:80'
networks:
- w-network
Run Code Online (Sandbox Code Playgroud)
我在中实现了UPLOAD_LIMIT
ENV 变量
https://github.com/phpmyadmin/docker/pull/261/files#diff-80edf79b0f382a3c6e871ac209ffd6abR57