PHP在IIS环境下文件不能上传的原因

http://www.gaoxigang.com/?p=370

引用
最近做文件上传功能,发现在Apache服务器,文件可以上传,但传到IIS服务器,功能就无法使用了。

测试后发现,用file_exists函数检测临时文件,在IIS下返回false。感觉跟上传后的临时文件夹的配置有关。

根据“内事问百度,外事问谷歌”的原则,纠结了一下这个问题是属于内事还是外事?

然后全搜了一下,得到如下原因:

IIS 环境下,如果在php.ini下没有配置 upload_tmp_dir 的路径,临时文件默认是存在机器上的临时文件夹内,比如 说:“C:\Windows\Temp”下,并且临时文件夹需要“WORKGROUP/users”的所有权限,而系统默认给“WORKGROUP /users”执行临时文件夹的权限,不同机器会不相同。

所以解决方法是:

在php.ini配置一下upload_tmp_dir(如:upload_tmp_dir = “D:\temp”);

或者找到系统默认的临时文件夹,给予“WORKGROUP/users”所有权限。

总结Temp目录的权限为:administator、system、users三者需具有完全控制权限。


fine

猜你喜欢

转载自macleo.iteye.com/blog/1786662
今日推荐