首页 时政热点 科技头条 智能AI 安全攻防 数码硬件 开发者生态 归档 标签 关于

PHP 中如何正确处理大文件上传时的内存占用与超时问题?

2026-07-12 1 阅读 约2分钟阅读 直爽的鼠标_drfIxp
分享:
字号:
PHP中如何正确处理大文件上传时的内存占用与超时问题?最近在做一个支持大文件(100MB~1GB)上传的功能,使用的是PHP + Nginx。目前的做法是通过move_uploaded_file()处理上传,但在下面的情况下会遇到问题:上传大文件时容易触发504网关超时 PHP进程内存占用明显上升偶尔会出现Allowed memory size exused错误 目前的php.ini相关配置如下: upload_max_filesize = 1024M post_max_size = 1024M max_execution_time = 300 memory_limit = 256M Nginx 配置: client_max_body_size 1024m; fastcgi_read_timeout 300; PHP-FPM 配置 pm = 动态 pm.max_children = 50 pm.start_servers = 10 pm.min_spare_servers = 5 pm.max_spare_servers = 20 request_terminate_timeout = 300 request_slowlog_timeout = 10s Slowlog = /var/log/php-fpm/slow.log php_admin_value[max_execution_time] = 300 php_admin_value[memory_limit] = 256M 服务器内存:总 8G,已用 4.2G,可用约 3.5G 没有使用分块上传技术或前端上传组件 我想了解的是: PHP 在处理大文件上传时,简单来说是如何占用内存的?是否一定要把 memory_limit 设置得很大?有没有更优的做法?
这篇文章对您有帮助吗?

订阅66必读

每日精选科技资讯,直达你的邮箱