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

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

xjtudll3年前 (2022-08-01)技术心得2500

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://www.xjtudll.cn/Exp/648/

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

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

ReportViewer(RDLC报表)打印很多空白页

ReportViewer(RDLC报表)打印很多空白页

问题: RDLC报表打印的时候,会多出空白页。 一页有内容,一页空白。然后有内容,然后继续空白。交替出现空白。 原因: 报表的宽度+左边距+右边距 > 纸张宽度 参考资料: https://blog.csdn.net/u012293369/article/details/78885091 解决...

位运算——交换两个数

交换两个数 交换两个数相信很多人天天写过,我也相信你每次都会使用一个额外来变量来辅助交换,例如,我们要交换 x 与 y 值,传统代码如下 int tmp = x; x = y; y = tmp; 这样写有问题吗?没问题,通俗易懂,万一哪天有人要为难你,**不允许...

Xcode ios模拟器下载及安装教程

Xcode ios模拟器下载及安装教程

1 通过Xcode下载 最新版的Xcode安装后,通常只带最新ios系统的模拟器。例如,Xcode 5.01就只带了ios7.03的模拟器。通过Xcode可以下载早期版本的模拟器。 Xcode->Preferences->Downloads Downloads下的Components就...

Android error:Duplicate ID, tag null, or parent id with another fragment(fragment嵌套问题)

参考资料:http://stackoverflow.com/questions/14083950/duplicate-id-tag-null-or-parent-id-with-another-fragment-for-com-google-androi 跟参考资料里的这个人一样,我也碰到了这个...

Altium 比较两个PCB的不同

Altium 比较两个PCB的不同

一般情况下,我们如果修改了PCB,都会标明大概修改了什么地方。但是有的时候,我们修改了PCB,却忘了标明改了什么地方,由于改动较小,过了一段时间之后,彻底忘了改了哪里。这时候要想知道改了哪里,该如何做? 首先,要说明的是,Altium本身的Compare功能是针对project自身的历史版本的(既可...

DBNull.Value(数据库写入NULL)与null

DBNull.Value,, 适用于向数据库的表中插入空值。 null,是指在程序中表示空引用。 或者对象为空。就是没有实例化。 如果要向数据库写NULL,应该写入的是DBNull.Value,而不是直接赋值null。...

发表评论

访客

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