Docker部署WordPress解决“上传的文件尺寸超过php.ini中定义的upload_max_filesize值”问题
随着以Docker为代表的容器化技术的普及,越来越多的环境搭建服务部署都逐步走向容器化。当下基本上所有流行的系统都有对应的Docker版本,当然最流行的CMS——WordPress也不例外。 在为WordPress安装第三方主题或者插件时需要用户在后台手动进行文件上传,但如果文件体积较大时就会遇到如下常见的问题。 413 Request Entity Too Large 上传的文件尺寸超过php.
随着以Docker为代表的容器化技术的普及,越来越多的环境搭建服务部署都逐步走向容器化。当下基本上所有流行的系统都有对应的Docker版本,当然最流行的CMS——WordPress也不例外。
在为WordPress安装第三方主题或者插件时需要用户在后台手动进行文件上传,但如果文件体积较大时就会遇到如下常见的问题。
413 Request Entity Too Large
上传的文件尺寸超过php.ini中定义的upload_max_filesize值
413 Request Entity Too Large
如果使用了nginx
服务器可能会遇到这个问题,这是由于nginx
服务器默认限制上传文件尺寸不能超过2M
,可以通过修改nginx
配置文件(nginx:alpine
默认配置文件为/etc/nginx/conf.d/default.conf
)修复此问题。修改内容形如:
server {
...
location / {
...
client_max_body_size 10m; # 设置客户端上传内容尺寸最大为10M
}
}
修改完成后需要重启nginx
服务。
上传的文件尺寸超过php.ini中定义的upload_max_filesize值
此问题是WordPress中php.ini
默认允许上传的文件大小为2M
,可以通过挂载配置文件修复此问题。
自定义uploads.ini
文件,内容如下(尺寸限制可按需修改):
file_uploads = On
memory_limit = 256M
upload_max_filesize = 10M
post_max_size = 10M
max_execution_time = 600
将刚创建的配置文件挂载为WordPress容器的/usr/local/etc/php/conf.d/uploads.ini
即可。下面以docker-compose.yml
为例,配置形如:
wordpress:
volumes:
- ./uploads.ini:/usr/local/etc/php/conf.d/uploads.ini
修改完成后重启docker compose服务栈即可。
docker-compose restart # 重启服务栈
此时再次尝试,就可以上传大文件了。出于安全考虑,建议主题或插件配置完成后,关闭大文件上传功能,注释到上述配置重启服务即可。
更多推荐
所有评论(0)