解决基于docker的wordpress无法上传大文件的问题
背景
为了方便,使用了docker部署了wordpress,通过nginx进行反向代理,并配置了域名,安装完成一切正常,但是在上传主题是出现了如下错误提示:
413 Request Entity Too Large
百度google一通后,在http{}
中加入 client_max_body_size 10m;
解决了。
然后上传文件,确出现了另一个错误提示:
The uploaded file exceeds the upload_max_filesize directive in php.ini.
解决方案
很明显,这是php上的限制,只需要修改php.in即可。
为了方便修改,我们在创建容器时,添加volumes
将php配置映射到本地,完整的docker-compose.yml
如下:
version: '3'
services:
wordpress:
image: wordpress:latest
container_name: wordpress
restart: always
ports:
- "9102:80"
volumes:
- ./html:/var/www/html
- ./php:/usr/local/etc/php
environment:
WORDPRESS_DB_HOST: 10.0.4.5:3306
WORDPRESS_DB_USER: root
WORDPRESS_DB_PASSWORD: 123456
WORDPRESS_DB_NAME: wp_demo
启动容器后,将php文件夹中的php.ini-production
文件拷贝一份更名为:php.ini
,编辑该文件,修改其中的upload_max_filesize
项目的值,如下:
upload_max_filesize = 20M
; Maximum number of files that can be uploaded via a single request
max_file_uploads = 20
重启容器,即可解决问题。