php.ini修改上传文件大小限制

php.ini修改上传文件大小限制为什么要保证upload_max_filesize<post_max_size<memory_limit?

我测试过,如果三个参数相等或者是其他关系的话,都不起作用的。

https://segmentfault.com/q/1010000004490906?tdsourcetag=s_pctim_aiomsg

一、Windows 环境下的修改方法 

第一步:修改php.ini

找到:max_execution_time = 30 ,这个是每个脚本运行的最长时间,单位秒,修改为:max_execution_time = 0

找到:max_input_time = 60,这是每个脚本可以消耗的时间,单位也是秒,修改为: max_input_time = 6000

找到:memory_limit = 128M,这个是脚本运行最大消耗的内存,根据你的需求更改数值,这里修改为: memory_limit = 512M

找到:post_max_size = 8M,表单提交最大数据为 8M,此项不是限制上传单个文件的大小,而是针对整个表单的提交数据进行限制的。限制范围包括表单提交的所有内容。post_max_size = 500M

找到:upload_max_filesize = 2M ,上载文件的最大许可大小 ,修改为: upload_max_filesize = 500M

第二步: Apache环境中的档案上传大小控制

修改位于Apahce目录下的httpd.conf

添加下面内容LimitRequestBody 1048576000 即1000M=1000*1024*1024,有的文章中提到应改为 600000000

重新启动apache,就可以在设置里看到你要的大小

二、Linux 环境下的修改方法 

修改etc/php.ini

找到 File Uploadsh区域修改以下几个参数:

      file_uploads = on ;是否允许通过HTTP上传文件的开关,默认为ON即是开。

      upload_max_filesize = 800m ;允许上传文件大小的最大值。

找到 Data Handling区域,修改

      post_max_size = 800m ;指通过表单POST给PHP的所能接收的最大值,包括表单里的所有值,默认为8M

设上述参数后,上传小于8M的文件一般不成问题。但如果上传大于8M的文件,还得设置以下参数:

在Resource Limits 区域:

      max_execution_time = 600 ;每个PHP页面运行的最大时间值(秒),默认30秒。

      max_input_time = 600 ;每个PHP页面接收数据所需的最大时间,默认60秒。

      memory_limit = 800m ;每个PHP页面所吃掉的最大内存,默认8M。

总结:php.ini配置文件中的默认文件上传大小为2M,默认upload_max_filesize = 2M,即文件上传的大小为2M,如果你想上传超过8M的文件,比如20M,你必须设定upload_max_filesize = 20M。但是光设置upload_max_filesize = 20M还是无法实现大文件的上传功能,你必须修改php.ini配置文件中的post_max_size选项,其代表允许POST的数据最大字节长度,默认为8M。如果POST数据超出限制,那么$_POST和$_FILES将会为空。要上传大文件,你必须设定该选项值大于 upload_max_filesize指令的值。另外如果启用了内存限制,那么该值应当小于memory_limit选项的值。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值