Apache-2.4

無故上傳失敗

  • June 22, 2020

我一直試圖在我的網路伺服器上發現一個問題,這只會導致文件上傳失敗。我還創建了一個簡單的 php 腳本來測試上傳,當上傳失敗但我沒有收到任何排序錯誤或日誌消息。我一直在測試的文件有 86mb,我已經增加了以下與上傳相關的 php 設置並重新啟動了 apache:

memory_limit 1024MB
post_max_size 512MB
upload_max_filesize 256MB

不管我做了什麼改變,問題仍然存在,上傳只適用於小文件。我正在使用 php7.3、apache 2.4.39 和 CentOS 7.6。

我所做的另一項測試是更改upload_tmp_dir為自定義文件夾,並且我能夠檢查在上傳文件時是否創建了一個臨時文件,直到它以某種方式失敗並且文件被刪除。還嘗試禁用 SELinux,但結果是一樣的。

問題是由 引起的reqtimeout_module,添加以下程式碼來/etc/httpd/conf/httpd.conf解決問題。

<IfModule reqtimeout_module>
   RequestReadTimeout header=20-40,MinRate=500 body=20,MinRate=500
</IfModule>

檢查指令的 Apache 配置LimitRequestBody。預設為 0,允許無限制的上傳大小,但它可能已被自定義。在 Apache 和 PHP 配置中,上傳大小限制必須足夠。

引用自:https://serverfault.com/questions/1022288