php上传文件出现500错误
问题:
能上传小于10k的文件,上传大于10k的文件就会报500错误
解决办法:
首先查看错误日志,看看报错是什么
其次查看client_body_temp的权限问题
linux下面输入命令nginx -V 看看自己的client_body_temp在哪个目录下
注意nginx运行的用户,目录权限包括父目录权限都要给足;不然就会500错误
关于client_body_temp目录的作用,简单说就是如果客户端POST一个比较大的文件,长度超过了nginx缓冲区的大小,需要把这个文件的部分或者全部内容暂存到client_body_temp目录下的临时文件。
检查步骤
- client_body_temp 是否设置为不可访问,使得没有权限写临时文件,导致报错500 这是查目录权限
- client_body_buffer_size 是否使用默认设置,8k或者16k ,文件大小超过此值, 导致报错500 这是检查nginx.conf配置
- client_header_buffer_size是否设置得比较大 这是检查nginx.conf配置