首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 相關知識

PHP FastCGI 模式上傳大檔案報錯「MaxRequestLen 超限」的完整解決方案

     編輯:PHP 相關知識

PHP FastCGI 模式上傳大檔案報錯「MaxRequestLen 超限」的完整解決方案

專案中上傳約 300KB 圖片時出現錯誤:

mod_fcgid: HTTP request length 132296 (so far) exceeds MaxRequestLen (131072)

原因是 FastCGI 預設最大請求長度 MaxRequestLen 僅 128KB (131072 bytes)。需在 Apache 配置中調大此值。

Apache 全域/虛擬主機配置修改

<IfModule mod_fcgid.c>
    AddHandler fcgid-script .fcgi
    FcgidConnectTimeout 20
    # 將上傳上限調至 15MB (15728640 bytes)
    FcgidMaxRequestLen 15728640
</IfModule>

若僅需針對單一虛擬主機生效,可將上述配置置於該站點的 .htaccess 或 httpd.conf 對應 <VirtualHost> 區塊內。

Windows PHP + Apache 環境的 php.ini 同步調整

除 FastCGI 限制外,PHP 本身的上傳參數也需放寬:

  • upload_max_filesize
  • post_max_size(需大於 upload_max_filesize)
  • max_input_time
  • memory_limit
  • max_execution_time

修改完成後重啟 Apache 即可解決大檔案上傳失效問題。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved