IIS7.5和IIS8中ASP或PHP最大上传限制的终极解决办法

大超

配置服务器是每个技术人员的基本操作,安装好IIS服务器后,会有一个默认配置,这默认配置有可能让你上传文件时报错。下面就来说说IIS7.5和IIS8中ASP或PHP最大上传限制的终极解决办法。

常规IIS上传限制配置

使用Internet 信息服务(IIS)管理器配置

打开“ Internet 信息服务(IIS)管理器 ”。

点击“起始页 ” 下面的服务器名称。

右侧窗口拉到最下面,双击“配置服务器”。

点击下拉菜单节(S),选中system.web>httpRuntime,将executionTimeout的值设为00:20:00(即20分钟),这是为了防止上传超时的。

点击下拉菜单节(S),选中system.webServer>security>requestFiltering,展开requestlimits,将maxAllowedContentLength的值设为102400000(即100M)。

另外一种配置方式

打开“ Internet 信息服务(IIS)管理器 ”。

点击“起始页 ” 下面的服务器名称。

右侧窗口拉到下半部分,找到“请求筛选”,双击它。

右边选择“编辑功能设置”。

把允许最大内容长度改为102400000 。

修改IIS_schema.xml文件配置

如果上面两项修改完不生效,可能是因为没有对IIS_schema.xml文件的修改权限,这个文件的路径是:C:/Windows/System32/inetsrv/config/schema/

IIS_schema.xml 。用记事本打开它,找到:

<attribute name="maxAllowedContentLength" type="uint" defaultValue="30000000" />

把这个数字改为“ 102400000 ”,保存后,重启IIS即可。

使用web.config配置

在网站根目录建立“web.config”文件,记事本打开它,输入一下内容并保存。

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <security>
            <requestFiltering>
                <requestLimits maxAllowedContentLength="102400000" />
            </requestFiltering>
        </security>
    </system.webServer>
    <system.web>
        <httpRuntime executionTimeout="1800" />
    </system.web>
</configuration>

PHP上传配置

打开php.ini,找到如下项目,并做相应的修改。

file_uploads = On ;打开文件上传选项 
upload_max_filesize =200M ;上传文件上限 
如果要上传比较大的文件,仅仅以上两条还不够,必须把服务器缓存上限调大,把脚本最大执行时间变长 
post_max_size = 200M ;post上限 
max_execution_time = 1800 ; 脚本最大执行时间 
max_input_time = 1800 ; 
memory_limit = 128M ; (128MB)内存上限

ASP上传配置

默认情况下,IIS7.5 对上传文件的大小默认限制为:200000字节/1024=195.3K,还不到200k,这就是经典的IIS上传不能超过200k的文件,解决办法仍然是配置IIS:

  1. 打开“ Internet 信息服务(IIS)管理器 ”。

  2. 点击“起始页 ” 下面的服务器名称。

  3. 右侧窗口拉到中间部分,找到“ASP”,双击它。

  4. 点“+”号展开“限制属性”,把“最大请求实体主体限制”改为“10240000”(10M)。

有问题可在下方评论留言,或关注“大超小志”微信公众号留言。

标签: iis 服务器 PHP ASP

留言评论

如需留言或评论,请在微信中打开此页面。