当前位置:首页 > 技术心得 > 正文内容

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

xjtudll4年前 (2022-08-01)技术心得4700

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函数,直接读写


扫描二维码推送至手机访问。

版权声明:本文由鸟的天空发布,如需转载请注明出处。

本文链接:http://xjtudll.cn/Exp/648/

标签: 服务器
分享给朋友:

“IIS+PHP环境下文件上传没法访问问题” 的相关文章

Keil C51过滤0xfd字符的bug(某些汉字无法正常显示)

Keil C51过滤0xfd字符的bug(某些汉字无法正常显示)

keil c51在编译的时候会将0xfd的字符(有些汉字含该字符的内码)过滤, 而导致程序出错。 所以在做液晶汉字显示时. 有些汉字根本没法显示出来,例如“三”。 这个bug已经很多年了,不知道为什么keil一直不修正。 针对这个bug,某网友制作了补丁。 补丁使用办法,将补...

Android Studio:Your project path contains non-ASCII characters

Android Studio:Your project path contains non-ASCII characters

参考资料: http://stackoverflow.com/questions/32171968/your-project-path-contains-non-ascii-characters-android-studio 问题: Android Studio编译工程时,提示: Error:(1...

金蝶K3 销售订单关闭逻辑

关闭标志:当销售订单关联数量大于等于销售订单的时候,自动打上关闭标志。行业务关闭标志:当销售订单该分录的出库数量大于等于销售订单该分录数量时,该分录行自动打上行业务关闭标志。在启用发货通知单功能后,如发货通知单的数量等于销售订单数量,此时销售订单就会是关闭状态,但行业务未关闭当发货通知单的关联数量大...

Xcode Error:ARC forbids explicit message send of release解决及自定义ARC

Xcode Error:ARC forbids explicit message send of release解决及自定义ARC

首先:Xcode 5中是可以选择是否用ARC的,在有ARC的时候,你完全不需要也不允许做retain,release,你要考虑strong 还是weak。推荐使用ARC。 如果不用ARC,是可以去掉的。在target->build settings里面,有个APPLE LLVM 5.0 La...

Multisim交流分析显示光标值

Multisim交流分析显示光标值

multisim的交流分析本质是交流扫描分析,即扫描频率,输出节点电压等参量。 在分析窗口中设置输出变量,在频率参数标签中设置频率参数(起始频率、结束频率等) 这是默认的交流分析的结果图 是没有标注任何数值的。要是想知道扫描点的相关数值,必须开光标。 右键,选择【显示光标】 拖动光标(图中...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。