| 指令 | 默認值 | 說明 | 建議值 (大文件上傳) |
|---|---|---|---|
| file_uploads | On | 總開關,必須開啟 | On |
| upload_tmp_dir | 系統臨時目錄 | 臨時文件存放路徑,**必須設置可寫目錄**,否則上傳失敗 | /var/tmp/php_upload |
| upload_max_filesize | 2M | 單個上傳文件最大體積 | 100M |
| post_max_size | 8M | POST 請求體總大小,**必須 ≥ upload_max_filesize** | 120M |
| max_execution_time | 30 | 腳本最大執行秒數,大文件需調大 | 300 (或 0 無限制) |
| max_input_time | 60 | 解析請求數據最大秒數 (含文件接收) | 300 |
| memory_limit | 128M | 腳本內存上限,**必須 > post_max_size** | 256M |
memory_limit > post_max_size > upload_max_filesize
↑ ↑ ↑
腳本內存 請求體總大小 單文件上限
若上傳 50MB 文件:upload_max_filesize=50M、post_max_size=60M、memory_limit=128M、max_execution_time=300、upload_tmp_dir=/data/tmp/uploads (確保目錄存在且 PHP 進程用戶可寫)。
post_max_size,$_FILES 為空,無報錯難排查。Allowed memory exhausted。client_max_body_size、proxy_read_timeout。mkdir -p /var/tmp/php_upload && chown www-data:www-data /var/tmp/php_uploadphp.ini 並重載 PHP-FPM:systemctl reload php-fpmclient_max_body_size 100m;$_FILES['error'] 為 UPLOAD_ERR_OK。
配置修改後必須重載 PHP 進程生效。Windows 下修改
php.ini需重啟 Apache/IIS。