您好,欢迎来到

中国信息港

! 请登录 免费注册
  • 在线企业QQ:

IIS下解除对php上传文件的限制

服务器
2018-2-28   阅读:200

在使用windows服务器的情况下使用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管理器,并选中您需要上传文件的网站。在功能页选择“管理”下的“配置编辑器”。如下图


设置上传超时时间限制。

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

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


设置上传文件大小限制。

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

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

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


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

<configuration>

<system.webServer>

<security>

<requestFiltering>

<requestLimits maxAllowedContentLength="512000000" />

</requestFiltering>

</security>

</system.webServer>

<system.web>

<httpRuntime executionTimeout="1800" />

</system.web>

</configuration>

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