![Why is my AJAX POST data exceeding 2 million characters arriving empty on the PHP side?](https://img.php.cn/upload/article/000/000/000/173065563411827.jpg)
PHP/Apache/AJAX POST 限制
當嘗試在jQuery 中透過AJAX 發送超過200 萬個字元的POST 資料時,您可能會遇到PHP 端收到的資料為空白的問題。這通常是由於系統各個組件的限製造成的。
Apache
Apache 有一個名為 LimitRequestBody 的參數,預設為 2GB 左右。如果 POST 大小超過此限制,Apache 將拒絕該請求,PHP 端將不會收到任何資料。檢查您的 Apache 錯誤日誌以取得更多具體詳細資訊。
PHP
PHP 有幾個可能影響POST 資料處理的參數:
- post_max_size :這直接決定了PHP可以接受的POST資料的最大大小。將此值設為適當的數量,確保它大於您打算發布的資料。
- upload_max_filesize:雖然可能不相關,但有些使用者報告透過增加此值成功。
- max_input_time:如果POST 要求需要很長時間才能完成,此參數可能會導致問題。將其設為適當的值,或將其設為 -1 以停用任何逾時。
- max_execution_time:雖然不太可能是罪魁禍首,但值得確保該值足夠高以處理大型 POST 請求。
- memory_limit:如果 POST 資料超出 PHP 進程的記憶體限制,可能會導致問題。根據需要調整此值。
其他注意事項
- 檢查伺服器前面的任何代理伺服器或負載平衡器的限制。
- 如果大小超出系統限制,請考慮將大型 POST 資料分解成較小的區塊。
以上是為什麼我的 AJAX POST 資料超過 200 萬字符,在 PHP 端到達時為空?的詳細內容。更多資訊請關注PHP中文網其他相關文章!