网站如何上传超大文件?
要允许网站上传超大文件,需要修改 PHP、Web 服务器(如 Nginx 或 Apache)的相关配置。以下是详细的步骤:
1. 修改 PHP 配置
-
找到
php.ini
文件:- 通常位于
/etc/php/7.x/fpm/php.ini
或/etc/php/7.x/cli/php.ini
(根据您的 PHP 版本和安装方式不同,路径可能有所不同)。
- 通常位于
-
修改
upload_max_filesize
和post_max_size
:- 打开
php.ini
文件,找到以下两个配置项并修改:upload_max_filesize = 2000M post_max_size = 2000M
upload_max_filesize
控制单个文件的最大上传大小。post_max_size
控制整个 POST 请求的最大大小,通常应大于或等于upload_max_filesize
。
- 打开
-
保存并重启 PHP:
- 保存
php.ini
文件。 - 重启 PHP-FPM 服务(如果使用 PHP-FPM):
sudo systemctl restart php7.x-fpm
- 或者重启 Web 服务器(如 Apache):
sudo systemctl restart apache2
- 保存
2. 修改 Nginx 配置
-
找到
nginx.conf
文件:- 通常位于
/etc/nginx/nginx.conf
。
- 通常位于
-
修改
client_max_body_size
:- 打开
nginx.conf
文件,在http
块中添加或修改以下配置:http { ... client_max_body_size 20000M; ... }
client_max_body_size
控制客户端请求的最大大小。
- 打开
-
保存并重启 Nginx:
- 保存
nginx.conf
文件。 - 重启 Nginx 服务:
sudo systemctl restart nginx
- 保存
3. 修改 Apache 配置
-
找到
httpd.conf
文件:- 通常位于
/etc/httpd/conf/httpd.conf
或/etc/apache2/apache2.conf
(根据您的操作系统和安装方式不同,路径可能有所不同)。
- 通常位于
-
修改
LimitRequestBody
:- 打开
httpd.conf
文件,找到或添加以下配置:LimitRequestBody 1048576000
LimitRequestBody
控制请求体的最大大小,单位为字节。例如,1000M 即 1048576000 字节。
- 打开
-
保存并重启 Apache:
- 保存
httpd.conf
文件。 - 重启 Apache 服务:
sudo systemctl restart apache2
- 或者:
sudo systemctl restart httpd
- 保存
注意事项
-
安全性:
- 允许上传超大文件可能会增加服务器的负载和安全风险。建议在生产环境中谨慎调整这些配置,并考虑使用其他方法(如分片上传)来处理大文件上传。