目录

解决 IIS7 + PHP 的组合上传限制 30M 的问题

目录

IIS7+php 的默认上传限制 30M 在解决 php 服务上的上传限制配置外还有针对 IIS 的请求大小的限制,而这一块的限制经常让人摸不着头脑。

现对整体的上传请求大小修改步骤总结如下:

1.php.ini 该文件的实际位置请打印

1
2
<?php
phpinfo();

进行确认,修改 upload_max_filesize = 512M(原始 2M),post_max_size = 600M(原始 8M),post_max_size 必须大于等于 upload_max_filesize

2.applicationHost.config,位于 C:\Windows\System32\inetsrv\config\,在中加入

1
<requestLimits maxAllowedContentLength="536870912" />

如果已经有 requestLimits 标签的话只需要修改数值就好。 该步骤如果没有权限编辑,可以在 iis 管理器中的,管理->配置编辑器,中进行配置并应用。 该配置的位置在:

1
2
3
system.webServer/security/requestFiltering
requestLimits
maxAllowedContentLength

3.IIS_schema.xml,位于 C:\Windows\System32\inetsrv\config\schema\,查找 maxAllowedContentLength,将其值改为 536870912 该文件是受保护的,必须先将文件所有人改为 administrator,并给 administrator 分配完全控制权,去除文件的只读属性

4.web.config,位于站点根目录,如果的话没有可以新建一个,完整的内容如下

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
     <system.webServer>
          <security>
               <requestFiltering >
                    <requestLimits maxAllowedContentLength="536870912" ></requestLimits>
              </requestFiltering>
         </security>
    </system.webServer>
</configuration>

完成以上操作,文件上传的上限就被提升到 512M 了