WordPress:部署时遇到大文件不能上传 的解决办法

最后更新于:2023-04-20 16:40
有朋友搭建wp时,搭建已经完成,但是在实际使用中遇到了个问题,插件无法上传成功,在这里记录下解决过程。
首先通过测试来判断 上传功能能否使用。先上传个1M以内的,因为可能有的插件/中间件对文件上传限制在1到2M内。 
经过测试1M以内文件是可以上传成功的,可以上传文件/图片/插件其一来测试即可。接着就好处理了 。
通常来说上传限制会在两方面,一是php上传限制,修改php.ini解决; 二是可能是用了nginx做反向代理,带有上传大小限制,修改nginx.conf解决。

php上传限制,修改php.ini解决:

常见的为php限制,上传小文件ok,大文件会页面不动装死,或者页面提示 Maximum upload file size: 8M,Maximum upload file size: 2M 
此时需要修改两项配置: upload_max_filesize = 2M ;post_max_size =2M。只改一项不能生效!
此时需要查看php的配置文件php.ini中的文件上传部分:

如果是windos环境:

找到对应安装php的目录,初始安装后目录下是没有php.ini文件,只有php.ini-production文件,复制php.ini-production重命名为php.ini即可,然后打开操作
找到 Maximum allowed size for uploaded files 下面的 upload_max_filesize = 2M :,
此处限制了最大上传只能2M,可以修改更大,比如改为1024M 即最大1G。切记同时还要修改post_max_size = 1024M

如果是Linux环境:

操作方法和windows类似,php配置文件的默认目录是“/usr/local/lib/php.ini”。如果记不得安装在哪里,
操作命令 “find / -name php ”查找php安装目录,然后进入修改。
初始化没有php.ini时,复制或修改一份,同样找到  upload_max_filesize = 2M  ,post_max_size =2M 修改为想要的大小即可;

如果是基于docker搭建:

那么进入容器:
docker exec -it xxxx /bin/bash       // xxx为wordpress容器ID
docker环境下默认php位置位于/usr/local/etc/php ,
使用命令ls看下是否有php.ini文件。
默认也是没有php.ini ,复制php.ini-production, 在/usr/local/etc/php下生成新的php.ini ,并进行修改
upload_max_filesize = xxxM   post_max_size =xxxM
操作完保存并退出容器
最后的最后重启各个环境,配置就会生效。

nginx做反向代理,带有上传大小限制,修改nginx.conf解决:

此外除了默认的php限制文件大小外,如果使用nginx 也是有可能出现大小限制的。此时上传时,可能出现如下。
创建于2023-04-20 14:19 26 阅读