Azure App Service上WordPress Docker镜像如何增大上传限制
配置方法
直接从Docker Hub拉取的官方WordPress镜像部署在Azure App Service时,不需要自定义镜像、不需要Docker Compose,完全可以通过内置环境变量+持久化目录配置实现上传大小、请求超时的调整,你提到的类似WP_CONFIG_EXTRA的配置能力官方镜像确实支持,对应变量名为WORDPRESS_CONFIG_EXTRA。
核心配置项(优先使用环境变量,无需手动修改容器内文件)
所有环境变量均在Azure App Service左侧菜单「配置」-「应用程序设置」中添加,添加后保存即可自动触发应用重启生效:
- 添加键
WORDPRESS_CONFIG_EXTRA,值填写如下内容,覆盖WordPress层面的内存、上传、超时限制:
define('WP_MEMORY_LIMIT', '256M'); define('WP_MAX_MEMORY_LIMIT', '512M'); @ini_set('upload_max_size', '256M'); @ini_set('post_max_size', '256M'); @ini_set('max_execution_time', 300); @ini_set('max_input_time', 300);
上述数值可根据你实际的主题大小调整,建议
post_max_size设置为比upload_max_size大10M左右,预留表单其他字段的传输空间。
- 解决PHP配置加载优先级导致ini_set不生效的问题:添加键
PHP_INI_SCAN_DIR,值设为/usr/local/etc/php/conf.d:/home/site/ini。随后通过App Service左侧的「SSH」功能进入容器终端,执行如下命令创建自定义PHP配置文件:
mkdir -p /home/site/ini cat > /home/site/ini/custom-upload.ini << EOF upload_max_filesize = 256M post_max_size = 256M max_execution_time = 300 max_input_time = 300 memory_limit = 512M EOF
该目录属于Azure App Service持久化存储目录,容器重启后配置不会丢失。
Web服务器层配置补充
官方WordPress镜像默认使用Apache作为Web服务器,还需要补充Apache层的超时和大小限制,避免服务器层面拦截请求:
通过SSH进入容器后,进入持久化的站点根目录/home/site/wwwroot,编辑(不存在则新建).htaccess文件,追加如下内容:
php_value upload_max_filesize 256M php_value post_max_size 256M php_value max_execution_time 300 php_value max_input_time 300 php_value memory_limit 512M Timeout 300
如果你拉取的是Nginx版本的WordPress镜像,需要额外在Nginx配置的server块中添加client_max_body_size 256M;规则,将自定义配置文件挂载到Nginx配置扫描目录即可。
注意事项
- Azure App Service平台层存在默认230秒的请求超时限制,该限制无法通过容器内配置修改,如果你的大文件上传耗时超过该阈值,建议安装支持分片上传的WordPress插件规避平台拦截。
- 所有配置修改完成后,可以登录WordPress后台,在「工具」-「站点健康」-「信息」中查看上传大小限制等参数是否生效。
内容的提问来源于stack exchange,提问作者burak ramazan
相关产品推荐
相关产品推荐

