2G以上的大文件如何上传

无法上传大文件是因为php.ini配置有限制了,这样限制了用户默认最大为2MB了,超过了就不能上传了,如果你确实要上传我们可以按下面方法来处理一下。

 


打开php.ini,

参数  设置  说明  

file_uploads  on  是否允许通过HTTP上传文件的开关。默认为ON即是开  
upload_tmp_dir  –  文件上传至服务器上存储临时文件的地方,如果没指定就会用系统默认的临时文件夹  
upload_max_filesize  8m  望文生意,即允许上传文件大小的最大值。默认为2M  
post_max_size  8m  指通过表单POST给PHP的所能接收的最大值,包括表单里的所有值。默认为8M 
说明  
一般地,设置好上述四个参数后,在网络正常的情况下,上传<=8M的文件是不成问题  
但如果要上传>8M的大体积文件,只设置上述四项还一定能行的通。除非你的网络真有100M/S的上传高速,否则你还得继续设置下面的参数。  

max_execution_time  600  每个PHP页面运行的最大时间值(秒),默认30秒  
max_input_time  600  每个PHP页面接收数据所需的最大时间,默认60秒  
memory_limit  8m  每个PHP页面所吃掉的最大内存,默认8M  

把上述参数修改后,在网络所允许的正常情况下,就可以上传大体积文件了

[编辑]论坛文件上传常见错误类型(不断总结中…)
Warning: Unable to open ‘\\php2′ for reading: Invalid argument in e:\user\web\larksoft.net\upload\upfile.php on line 10
是php的upload_tmp_dir的原因,所指定的目录必须可读可写

Parse error: parse error in c:\program files\apache group\apache\htdocs\mdweb\ftpfile\upload.php on line 14
Parse error一般都是语句的问题,比如象“;”,“’”,“)”等等的匹配问题

搞定了,是/etc/httpd/conf.d/php.conf里面,有一个
<Files *.php>
SetOutputFilter PHP
SetInputFilter PHP
LimitRequestBody 524288
</Files>

把LimitRequestBody 改了就可以了。


如果你是Nginx的话还需要修改nginx.conf中的http段:

1. 修改PHP配置文件中的三项:vim /usr/local/php/etc/php.ini
(1)post_max_size = 50M      #PHP可接受的最大POST数据
(2)upload_max_filesize = 50M   #文件上传允许的最大值
(3)max_execution_time = 300   #每个脚本的最大执行时间,秒钟(0则不限制,不建议设0)
2. 修改Nginx配置文件:vim /usr/local/nginx/conf/nginx.conf (如果忘了配置文件的具体位置,可以使用 locate nginx.conf 查找)
(1)client_max_body_size 50m   #客户端最大上传大小 50M
3. 重启PHP:/etc/init.d/php-fpm restart
4. 平滑重启Nginx:/usr/local/nginx/sbin/nginx -s reload

  详细配置信息可以参考这篇文章:http://blog.ncmem.com/wordpress/2019/07/30/2g%e4%bb%a5%e4%b8%8a%e7%9a%84%e5%a4%a7%e6%96%87%e4%bb%b6%e5%a6%82%e4%bd%95%e4%b8%8a%e4%bc%a0/

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值