IIS+PHP环境下文件上传没法访问问题

0

本文作者:xjtudll  发布于:2022-8-1  分类:技术心得  点击:


PHP运行环境:IIS FastCGI

在IIS FastCGI方式运行时,经过浏览器请求的Web资源有2类,一个是经由php_cgi.exe产生的内容,一部分是静态资源,由IIS返回给用户。

这2类用户有区别,前者是IIS_IUSERS,后者是Authenticated User或者是Anonymous。

###PHP上传流程 PHP上传通常分两个步骤

第一步,是上传到一个upload_tmp_dir,

第二步通常是这样move_uploaded_file($file["tmp_name"], $filePath)。而移动文件是会保留其权限设置。 

###“因为 Web 服务器上此资源的访问控制列表(ACL)配置或加密设置,您无权查看此目录或页面”问题的产生 

若是没有在php.ini设置upload_tmp_dir属性,IIS默认的这个temp目录就是C:\Windows\Temp。

解决方案

  1. 在默认的temp目录设置相应权限,右键->属性->权限->添加。这种方案是不安全的,不推荐。
  2. 设置php.ini相应属性,在指定的目录设置相应权限(搞不清楚的话这个目录可以授予所有用户读写权限),方法同上。
  3. 不使用move_uploaded_file函数,直接读写


本文标签: 服务器  
本文Url: http://www.xjtudll.cn/Exp/648/ (出自: 鸟的天空)
我要引用: 点击这里获取该日志的TrackBack引用地址

相关文章:

635. dell服务器阵列中硬盘的状态变成外来(foreign)的解决方法  (2022-2-28 14:10:50)

0 Comments

Write a comment ?