-
php环境上传大文件需要注意的事项
公共的环境前段:
- <form enctype="multipart/form-data" action="upload.php" method="POST">
- <!-- MAX_FILE_SIZE must precede the file input field -->
- <input type="hidden" name="MAX_FILE_SIZE" value="100000000" />
- <!-- Name of input element determines name in $_FILES array -->
- Send this file: <input name="userfile" type="file" />
- <input type="submit" value="Send File" />
- </form>
nginx+linux环境注意事项
php环境上传大文件需要注意的事项:
/usr/local/php/etc/php-fpm.conf.default
request_terminate_timeout = 0 //这个是fastcgi的执行时间,默认不限制的
- client_max_body_size 256m;
- fastcgi_buffer_size 256k;
- fastcgi_buffers 16 256k;
- fastcgi_busy_buffers_size 256k;
- fastcgi_temp_file_write_size 256k;
- fastcgi_connect_timeout 3000;
- fastcgi_send_timeout 3000;
- fastcgi_read_timeout 3000;
另外PHP也需要配置:
memory_limit 512M
max_execution_time 0
post_max_size 256M
upload_max_filesize 256M
apache+windows环境下注意事项:
配置php.ini文件 (以上传500M以下大小的文件为例)
查找以下选项并修改->
file_uploads = On ;打开文件上传选项
upload_max_filesize = 500M ;上传文件上限
如果要上传比较大的文件,仅仅以上两条还不够,必须把服务器缓存上限调大,把脚本最大执行时间变长
post_max_size = 500M ;post上限
max_execution_time = 1800 ; Maximum execution time of each script, in seconds脚本最大执行时间
max_input_time = 1800 ; Maximum amount of time each script may spend parsing request data
memory_limit = 128M ; Maximum amount of memory a script may consume (128MB)内存上限
出处:http://www.phpfensi.com/php/20181020/11382.html