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

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

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

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环境下文件上传没法访问问题” 的相关文章

因iPhone X上架杯具

最近上架了两款app,均被拒绝。 以下是原文:  0. 10.0 Before You Submit: Program License Agreement PLA 2.3 Your app or its metadata contains references to a pre-...

金蝶K3 计划订单批量维护自定义字段处理

现需要在计划订单批量维护报表中增加一自定义字段,然后维护后可以更新到计划订单对应自定义字段中。具体可通过如下操作解决: 1、在计划订单中自定义字段,同时通过SQL查找到该字段在数据库表中的字段名,如为FHeadSelfJ0550。 2、在计划订单批量维护表体中增加自定义字段,字段名改为和计划订...

Altium打印设置

Altium打印设置

Altium Designer打印有两种方法,一种是利用打印机或者虚拟打印机,将原理图或PCB打印出来;一种是利用其自带的Smart PDF功能将原理图或PCB打印成PDF文档。本文旨在讲述这两种方法。 一、利用打印机打印 首先,设置文档的打印信息。【File】->【Page Setup】...

Multisim示波器设置

Multisim示波器设置

在使用Multisim的时候,经常要用到示波器,但是在用到双通道的时候,两通道波形显示的颜色经常是一样的,无法直观的分辨到底是哪个通道。 其实Multisim里面有设置: 选中与示波器相连的那根线,右键,选择图块颜色,操作后会出现颜色选择的窗口,如下图。 选择一个颜色即可。 以一个电路图为例,下图...

Android的Service中弹出窗口解决方法

参考资料: http://www.cnblogs.com/fbsk/archive/2011/12/28/2304523.html http://blog.csdn.net/djun100/article/details/23756681 问题: 我们在使用Service时,经常会碰到这样的情况,比...

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...

发表评论

访客

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