今天突然想起来给网站的每一篇文章都设置一个特色图,于是去下载了一堆高清图。但是在设置的时候提示超出了最大上传大小的限制,可以看到wordpress媒体库的默认上传大小限制为2M。

使用的wordpress为基于docker环境的wordpress,wordpress镜像使用的是docker官方提供的镜像。进入到docker容器中看到docker的http server为apache,所以就去搜了一下相关的解决方案作为记录。

不过网上的运行环境跟我的又存在区别,下面详细说明一下。

网上普遍提供了3种解决方案:

  • 在functions.php中添加代码(未尝试)

    @ini_set( 'upload_max_size' , '64M' );
    @ini_set( 'post_max_size', '64M');
    @ini_set( 'max_execution_time', '300' );
  • php.ini(未尝试)
    在你的主机空间的根目录新建一个php.ini文件,里面使用如下代码:

    upload_max_filesize = 64M
    post_max_size = 64M
    max_execution_time = 300
  • .htaccess(使用)
    在网站根目录的 .htaccess 文件中添加如下代码:

    php_value upload_max_filesize 64M
    php_value post_max_size 64M
    php_value max_execution_time 300
    php_value max_input_time 300

前面三种方式,我使用了第三种.htaccess的方案。如果设置正确,此时打开媒体库应该是下面这种提示:

看上去在正常的wordpress环境下,已经完全OK了。但是我上传超过2M的图片时,提示HTTP错误。表示很疑惑啊。

后面想了下,我是通过nginx反代的wordpress容器,会不会是因为nginx限制的问题。

于是打开nginx的做配置文件,在http包含内添加一下内容:

client_max_body_size 64m;

尝试上传了一下,完美解决。

参考:

最后修改:2019 年 04 月 15 日 09 : 17 PM