Apache-2.4
無故上傳失敗
我一直試圖在我的網路伺服器上發現一個問題,這只會導致文件上傳失敗。我還創建了一個簡單的 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 配置中,上傳大小限制必須足夠。