You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WordPress Docker镜像上传超2MB图片报PHP内存不足错误如何解决?

问题背景

使用WordPress Docker镜像搭建的站点,上传大于2MB的图片时出现PHP Fatal error: Out of memory报错,相关配置及已尝试的解决方案如下:

Dockerfile配置

FROM amd64/wordpress:latest

COPY . /var/www/html
COPY /config-staging /var/www/html
COPY php.ini /usr/local/etc/php
COPY php.ini /usr/local/etc/php/conf.d
COPY uploads.ini /usr/local/etc/php/conf.d
COPY wordpress.ini /usr/local/etc/php/conf.d
COPY custom-php.ini /usr/local/etc/php/conf.d
COPY custom.ini /usr/local/etc/php/conf.d
COPY .user.ini /usr/local/etc/php/conf.d
RUN chown -R nobody:nogroup /tmp
RUN chown -R www-data:www-data /var/www/html
ENV PORT 80

EXPOSE 80

测试使用的INI配置内容

file_uploads = On
display_errors = Off
max_execution_time = 30
max_input_time = 60
max_input_vars = 1000
memory_limit = 512M
post_max_size = 512M
session.gc_maxlifetime = 1440
session.save_path = "/tmp"
upload_max_filesize = 512M
zlib.output_compression = Off

报错截图

报错截图

已尝试的解决方案

  • 在.htaccess文件中添加配置:php_value upload_max_filesize 512M、php_value memory_limit 512M
  • 在wp.config.php文件中添加配置:define('WP_MEMORY_LIMIT', '512M');

可行解决方案
  • 第一步先确认配置是否实际生效:在站点根目录新建phpinfo.php文件,写入<?php phpinfo(); ?>,访问该页面查看加载的php.ini路径、memory_limit、upload_max_filesize、post_max_size的实际值,很多时候配置文件路径不对没有被加载,导致配置不生效。
  • 调整WordPress后台内存限制:你只配置了前台使用的WP_MEMORY_LIMIT,后台上传、处理文件时使用的是WP_MAX_MEMORY_LIMIT,需要在wp-config.php中新增define('WP_MAX_MEMORY_LIMIT', '512M');。
  • 避免多配置文件冲突:你的Dockerfile中复制了多个ini文件到conf.d目录,容易出现配置覆盖问题,只保留一个命名为99-custom.ini的自定义配置文件,将所有自定义PHP配置写入该文件,保证优先级最高,不会被默认配置覆盖。
  • 检查Docker容器内存限制:容器本身如果被限制了内存上限,PHP配置的内存上限再高也没用,执行docker inspect <容器名称/ID> | grep Memory查看容器内存限制,若小于512M,启动容器时添加--memory 1G参数分配足够内存。
  • 确认配置文件权限:执行docker exec <容器名称/ID> ls -l /usr/local/etc/php/conf.d/查看ini文件权限,保证www-data用户有读取权限,可在Dockerfile中新增RUN chmod 644 /usr/local/etc/php/conf.d/*.ini统一配置权限。
  • 若使用Nginx代理站点,需要在Nginx server配置块中添加client_max_body_size 512M;,避免请求被Nginx拦截。

内容的提问来源于stack exchange,提问作者Krutik Parikh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 10:09:02