宝塔面板配置bug导致php上传失败的捉虫经历
发布于 作者:苏南大叔 来源:程序如此灵动~

本文讲述的是,在宝塔面板环境下,php
文件上传功能失败的检测过程。为什么强调是在宝塔面板里面,因为这个错误用常规的php
上传错误检测方法,无法检查出来。最终的错误检测表明:这个php
文件上传的错误,是由于宝塔面板的默认配置的问题所导致的...

好,大家请在这里和苏南大叔一起回顾一下,php
文件上传功能失败的主要检查方案。
症状描述
新开通的centos7
服务器,安装了最新版的宝塔面板5.5。配置了nginx2.2
+php7.2
之后,发现仅能上传非常小的文件(10k以内),文件如果稍稍大一点就陷入无序的长时间等待...
检测php.ini
配置
配置项目不一定是这些值,但是必要的允许上传文件,并且设置允许的值大一些,这是必要的步骤。

nginx
设置
nginx
这边主要是限制post
的报文体的大小。
邪恶的分割线,以上的内容,是常规的php
上传功能检查点,但是对于本次案例来说,上述设置项目,全部都检查了,没有任何问题,但是就还是存在着上述“无法上传大文件”的问题,真心是头大啊。再次和老的服务器进行对比检查,最终发现宝塔5.5
的nginx2.2
设置,缺失了一句话!具体见下图。

这个proxy.conf
文件的内容如下:

增加了这个文件的引用后,重启生效,症状消失。看来,确实和本条内容有关。如果后续还有问题,可能就需要再次检查这里的内容了。当然,也会有人说是nginx
自带的防火墙的问题。我这里,nginx2.2
不支持WAF
防火墙。所以,应该就不是这里的问题了。

关联文章
- 《涉及大文件上传时的php基本系统设置》 https://newsn.net/say/php-upload-bigfile.html
总结
看来,这可能是最新版的宝塔面板的一个小bug。不过也是蛮经典的。解决问题,也是一个挺有意思的事情。不是嘛?更多php
相关经验文章。请点击这里查看:


