Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/271.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
NGINX没有';t在/tmp中写入整个上载的文件-PHP错误3:文件部分上载_Php_Nginx - Fatal编程技术网

NGINX没有';t在/tmp中写入整个上载的文件-PHP错误3:文件部分上载

NGINX没有';t在/tmp中写入整个上载的文件-PHP错误3:文件部分上载,php,nginx,Php,Nginx,我使用fileuploadfield组件将文件从浏览器上载到NGINX服务器。文件大小为3Gb。NGINX版本是1.12.0。我有以下NGINX配置: http { server { listen 443; server_name SERVER_NAME_OR_IP; access_log /var/log/nginx/access.log; error_log /var/log/nginx/error.log debug; ssl

我使用fileuploadfield组件将文件从浏览器上载到NGINX服务器。文件大小为3Gb。NGINX版本是1.12.0。我有以下NGINX配置:

http {
 server {

   listen      443;
   server_name SERVER_NAME_OR_IP;

   access_log  /var/log/nginx/access.log;
   error_log  /var/log/nginx/error.log  debug;

   ssl                  on;
   ssl_certificate      /path/to/cert.crt;
   ssl_certificate_key  /path/to/cert.key;
   ssl_protocols        TLSv1 TLSv1.1 TLSv1.2;

   location ~* /test/abcd/ {
     client_max_body_size 3075m;
     proxy_pass http://127.0.0.1:7000;
     proxy_set_header        Host            $http_host;
     proxy_set_header        X-Real-IP       $remote_address;
     proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;

  }
 }

 server {
  listen       127.0.0.1:7000;
  server_name  SERVER_NAME_OR_IP;
  client_max_body_size 3075m;
  location / {

      location ~ \.php$ {
         fastcgi_pass   127.0.0.1:9000;
         fastcgi_index  index.php;
         fastcgi_param  SCRIPT_FILENAME  $request_filename;
         fastcgi_param   PHP_VALUE "upload_max_filesize = 3075M \n 
  post_max_size=3075M";
        include        /etc/nginx/fastcgi_params;
 }
}
}

问题是,有时(它不会100%复制),当我上传一个3Gb文件时,nginx服务器会将部分文件写入/tmp/(它不会写入一个3Gb大小的文件,每次都是不同大小的文件)。过了一会儿,在浏览器中我得到错误:504网关超时,在PHP中:上传失败,错误3。 你知道有什么问题吗


谢谢大家!

命令的输出是什么(假设unix)
php-i | grep upload_max_filesize
?upload_max_filesize是3075M,刚才在提供的配置中也看到了这一点。我希望能快速解决问题,但这应该足够了。。这些可能也不相关,但是影响上传的另外两个php.ini变量是
post\u max\u size
内存限制
。这些设置可能太低。这里可能会有一些帮助:祝你好运!这些变量设置为ok。我不认为这是个问题,特别是因为有时它工作正常。但是谢谢你的回答。你应该使用块上传,而不是一个大上传。请参阅,命令的输出是什么(假设为unix)
php-i | grep upload_max_filesize
?upload_max_filesize是3075m,刚才在提供的配置中也看到了这一点。我希望能快速解决问题,但这应该足够了。。这些可能也不相关,但是影响上传的另外两个php.ini变量是
post\u max\u size
内存限制
。这些设置可能太低。这里可能会有一些帮助:祝你好运!这些变量设置为ok。我不认为这是个问题,特别是因为有时它工作正常。但是谢谢你的回答。你应该使用块上传,而不是一个大上传。看到和