You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu+Apache2.4+PHP7.4环境下Symfony大文件上传超时错误求助

解决Apache 2.4 + PHP-FPM大文件上传超时(proxy_fcgi错误70007)

你的错误(70007)The timeout specified has expired是慢网络环境下大文件上传时,Apache或PHP-FPM的超时阈值触发导致的,结合你的配置,按以下步骤调整:

1. 调整Apache的RequestReadTimeout参数

当前配置里body=20,MinRate=50的阈值过高,慢网络下很容易因为20秒内读取速率低于50字节/秒触发超时。修改为:

RequestReadTimeout handshake=0 header=20-600,MinRate=50 body=600,MinRate=10
  • body=600:允许最长600秒完成请求体读取
  • MinRate=10:只要每秒至少读取10字节就不触发超时,适配慢网络场景

2. 给FCGI代理添加超时配置

你用SetHandler方式配置PHP-FPM代理,但没指定超时,ProxyTimeout不会自动覆盖这个场景。在<FilesMatch>块里添加ProxySet指令:

<FilesMatch \.php$>
    SetHandler proxy:fcgi://127.0.0.1:9000
    ProxySet timeout=1800
</FilesMatch>

这个配置确保Apache给PHP-FPM的请求分配足够的处理时间(1800秒)。

3. 检查并调整PHP配置

确保PHP的上传和超时参数匹配大文件需求:

  • 编辑对应PHP版本的php.ini文件(如/etc/php/7.4/fpm/php.ini):
    upload_max_filesize = 100M  # 根据实际文件大小调整
    post_max_size = 120M         # 需大于upload_max_filesize
    max_execution_time = 1800
    max_input_time = 1800
    
  • 编辑PHP-FPM的pool配置(如/etc/php/7.4/fpm/pool.d/www.conf):
    request_terminate_timeout = 1900s  # 比Apache超时稍长,避免PHP先中断请求
    

4. 重启服务生效

修改完配置后,重启Apache和PHP-FPM使设置生效:

sudo systemctl restart apache2
sudo systemctl restart php7.4-fpm

这些调整从请求体读取、代理超时、PHP处理三个层面解决慢网络下的大文件上传超时问题。

内容的提问来源于stack exchange,提问作者Mauricio Ponce

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 21:18:38