今天突然想起来给网站的每一篇文章都设置一个特色图,于是去下载了一堆高清图。但是在设置的时候提示超出了最大上传大小的限制,可以看到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;
尝试上传了一下,完美解决。
参考: