php挂nginx上传文件的时候发生的错误,错误内容
open() "/usr/local/var/run/nginx/client_body_temp/0000000009" failed (13: Permission denied)
查了下,是因为client_body_temp目录没有权限
关于client_body_temp目录的作用,简单说就是如果客户端POST一个比较大的文件,长度超过了nginx缓冲区的大小,需要把这个文件的部分或者全部内容暂存到client_body_temp目录下的临时文件。
找到几个解决办法
方法1:
在nginx.conf配置文件顶部加上:
user root;
该方法在Mac上不管用,好像是不允许使用root账号运行brew安装的程序,linux系统应该可行(未实验)
方法2:
修改目录权限
sudo chmod -R 777 client_body_temp
网上说755可以,但是mac系统试了755不可行,所以改777,反正本地调试,无伤大雅
参考资料
http://blog.ganyongmeng.com/?p=474
https://www.jianshu.com/p/275837f1a13c