传输大文件设置

PHP INI

打开php.ini,首先找到

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

进一步配置以下的参数
max_execution_time = 600 ;每个PHP页面运行的最大时间值(秒),默认30秒
max_input_time = 600 ;每个PHP页面接收数据所需的最大时间,默认60秒
memory_limit = 8m ;每个PHP页面所吃掉的最大内存,默认8M
把上述参数修改后,在网络所允许的正常情况下,就可以上传大体积文件了

max_execution_time = 600
max_input_time = 600
memory_limit = 32m
file_uploads = on
upload_tmp_dir = /tmp
upload_max_filesize = 32m
post_max_size = 32m

相应的服务器nginx的配置文件设置:
cd /export/servers/nginx/conf/nginx.conf,在这个配置文件里面的server段里面的

location / {  
            root   html;  
            index  index.html index.htm;  
            client_max_body_size    1000m;  
  }  

加上了client_max_body_size    字段,怎么重启都不行。后来在总配置文件里面发现了分配置文件:

sendfile        on;  
#tcp_nopush     on;  
          
#keepalive_timeout  0;  
keepalive_timeout  65;  
            
#gzip  on;  
include domains/*;  #########################分配置文件路径在此  
#include domains/chat.local;  
#include domains/chat.erp.com;  
#include domains/support.chat.com;  
#include douains/chat.com;    
server {  
    listen       80;   
    server_name  localhost;   

include domains

命令指定了分配置文件的路径。找到了分配置文件后,在分配置文件里面进行修改。分配置文件配置如下:

server  
{  
    listen   80;  
    server_name  chat.erp.360buy.com;  
    #access_log    /export/servers/nginx/logs/chat.erp.360buy.com;  
    location / {  
        proxy_pass     http://tomcat;  
        client_max_body_size    1000m;  
    }  
}  
用/export/servers/nginx/sbin/nginx -s reload重启下,上传文件的大小受限的问题就解决了。

你可能感兴趣的:(传输大文件设置)