IIS7.5上传大文件

时间:2017-06-20

服务器用的是window server2008r2,用ueditor怎么也不能上传大文件,ueditor也修改了PHP也修改了,就是不行,最后还是修改iis设置生效了,以下是收集的修改方法。

我只用修改了第二步的1、2、3、4和第四步就可以了,仅供参考。

第一步:记得修改php.ini 上传大小限制

(以上传200M以下大小的文件为例) 
查找以下选项并修改-> 
file_uploads = On ;打开文件上传选项 
upload_max_filesize =200M ;上传文件上限 
如果要上传比较大的文件,仅仅以上两条还不够,必须把服务器缓存上限调大,把脚本最大执行时间变长 
post_max_size = 200M ;post上限 
max_execution_time = 1800 ; Maximum execution time of each script, in seconds脚本最大执行时间 
max_input_time = 1800 ; Maximum amount of time each script may spend parsing request data 
memory_limit = 128M ; Maximum amount of memory a script may consume (128MB)内存上限

 

第二步:修改iis的上传限制

1、打开“Internet 信息服务(IIS)管理器”;
2、关闭IIS服务;
3、双击“Default Web Site“→双击中间窗格中的“请求筛选”→单击右侧窗格的“编辑功能设置”→修改“请求限制”下面的“允许的最大内容长度”,默认是30M,随便改大一点,我改成300M,点击“确定”;
4、重新启动IIS,再上传试试,50M、90M都可以了。

 

如果不可以那就必须

修改IIS_schema.xml这个文件要先获得这个文件的控制权;
这里我们要修改权限先要配置这个文件权限,这里我们给文档一个administrators为当前所有者,然后给这个用户所有权限,然后再修改这个配置文件就可以了
进入目录C:/Windows/System32/inetsrv/config/schema,用记事本打开 IIS_schema.xml
查找 <attribute name="maxAllowedContentLength" type="uint" defaultValue="30000000" />
这里的限制,我们需要修改这里的限制大小
然后搜索 3000000 意思是 只允许上传 30MB 大小的文件,你在这后面多加一个0 就变成了 300MB 了就应该够用了。然后重启 IIS 7
<element name="requestLimits">
   <attribute name="maxAllowedContentLength" type="uint" defaultValue="30000000" />
   <attribute name="maxUrl" type="uint" defaultValue="4096" />
  <attribute name="maxQueryString" type="uint" defaultValue="2048" />
  <element name="headerLimits">
  <collection addElement="add" clearElement="clear" removeElement="remove" >
<attribute name="header" type="string" required="true" isUniqueKey="true" validationType="nonEmptyString" />
<attribute name="sizeLimit" type="uint" required="true" />
  </collection>
</element>
大约在1024行左右.

如果还是不可以那再进行下一步

打到%windir%\system32\inetsrv\config\applicationhost.config ,然后单击 打开 。
在 该 ApplicationHost.config 文件中找不到maxAllowedContentLength 属性。 那么自己添加一个值,使客户端发送作为请求的一部分的内容长度标头的大小相同。 默认情况下, maxAllowedContentLength 属性的值是 30000000。帮助信息说到maxAllowedContentLength 的默认大不为30M。
这时明白 web.config文件中设定的是针对某个WEB站点.而非全部站点的上传大小。在当applicationhost.config 中未对maxAllowedContentLength 设定大小时默认就是30M,在web.config中设定超过于30M,依然上传最大为30M。然而在applicationhost.config未找 到节点,那么自己试着在system.webServer中添加此节点,一定要在system.webServer里设置。
<system.webServer>
  <security>
<requestFiltering >
 <requestLimits maxAllowedContentLength="1073741824" ></requestLimits>
</requestFiltering>
  </security>
</system.webServer>

 

第三步:修改网站的web.config

<system.web>
        <httpRuntime executionTimeout="28800" maxRequestLength="2147483645" shutdownTimeout="28800" />
</system.web>

 

第四部:修改IIS的fastcgi配置

在IIS主界面找到“FastCGI”相关选项,双击进入

右击点击编辑:

把活动超时和请求超时改成您想要的时间

基本经过这几步 就可以上传大文件了!

上一条:由WPCPlugin.dll模块错误引起的网站程序池停止的问题 下一条:iis 6.0设置实现http转向 https的解决方案

相关文章

最新文章