记磁盘占满导致的 post 提交失败返回 500 错误的原因
用户反馈,在提交表单时(post)显示错误页面(nginx 500错误),注:表单有上传文件。
注:用户访问的是前端机(反向代理)
排除了 php 代码问题,发现磁盘满了,清理后问题便解决了。
重点不是磁盘满了所导致的,另感到迷惑的是,磁盘满了页面既然能正常显示,而 post 提交却不行。
网上查了相关资料,nginx 有个 client_body_temp
的东东
如果客户端POST一个比较大的文件,长度超过了nginx缓冲区的大小,需要把这个文件的部分或者全部内容暂存到client_body_temp目录下的临时文件
client_body_buffer_size默认设置,8k或者16k
因为 post 提交有上传文件,大于nginx缓冲区的大小, client_body_temp_path
无法写入,这大概就是为什么页面能显示但post提交失败的原因。
本作品采用《CC 协议》,转载必须注明作者和本文链接