虚拟主机

修改文件上传大小限制(环境IIS+PHP)


修改文件上传大小,除了需要修改PHP的设置参数外,还需要注意以下几点:

1、上传文件如果太大,PHP缓存空间和执行时间需要适当延长。PHP缓存空间主要是指PHP临时目录剩余空间大小,还有就是PHP进程的内存限制,以及PHP运行执行的等待时间需要延长。

2、除了PHP设置外,还需要对IIS对应站点做一定的调整。


下面就具体来了解一下上传文件需要改动那一些参数:

PHP相关设置:

upload_max_filesize = 2M //PHP最大能接受的上传文件大小,默认值为2MB,需要根据您的上传文件大小修改适当数值。
post_max_size = 8M //PHP设定POST数据所允许的最大大小。默认值为8MB,需要注意的是post_max_size的数值大于upload_max_filesize的数值为佳.
memory_limit = 128M //内存上限。默认值为128MB,如果上传文件超过内存上限建议更改数值避免传输文件时内存不够。
max_execution_time = 30 //PHP最大执行时间。默认值为30秒,如果上传文件较大,30秒的PHP执行时间无法满足建议调高。max_execution_time =0,0表示没有时间限制
max_input_time = 60     //每个PHP页面接收数据所需的最大时间,默认60秒,如果上传文件较大,60秒的PHP执行时间无法满足建议调高。
upload_tmp_dir =   //文件上传至服务器上存储临时文件的地方,如果没指定就会用系统默认的临时文件夹,如果临时目录所在的磁盘空间不足已存储上传文件,请修改到其他盘符空间充足的地方

IIS相关设置:

点击iis管理器,并选中您需要上传文件的网站。在功能页选择“管理”下的“配置编辑器”。如下图

QQ截图20170601050557.png


设置上传超时时间限制。

点击下拉菜单节(S),选中system.web>httpRuntime

将executionTimeout的值设为00:30:00(即30分钟)

QQ截图20170601051903.png


设置上传文件大小限制。

点击下拉菜单节(S),选中system.webServer>security>requestFiltering

展开requestlimits,将maxAllowedContentLength的默认值设为512000000(即500m)

注:这样修改直接就能生效,无需重启iis或者服务器。

QQ截图20170601052433.png


如果您找不到设置,也可以直接在网站根目录建一个web.config文件,用此方法可以直接省略前面的步骤,web.config内容具体如下

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

executionTimeout数值单位是秒,maxAllowedContentLength的数值单位是KB。


提交成功!非常感谢您的反馈,我们会继续努力做到更好!

这条文档是否有帮助解决问题?

非常抱歉未能帮助到您。为了给您提供更好的服务,我们很需要您进一步的反馈信息:

在文档使用中是否遇到以下问题: