Kandungan Terlalu Besar untuk PHP POST
Anda mengalami kesukaran menghantar data POST yang melebihi 2 juta aksara melalui AJAX ke PHP. Khususnya, anda menghadapi ralat "Indeks tidak ditentukan" semasa cuba mendapatkan semula data daripada $_POST['data_string'].
Had Apache
Pertama sekali, pertimbangkan hadnya yang dikenakan oleh Apache. Semak parameter LimitRequestBody, yang biasanya lalai sekitar 2Gb. Jika saiz data anda melebihi had ini, anda mungkin melihat ralat dalam log ralat Apache.
Konfigurasi PHP
Seterusnya, periksa tetapan konfigurasi PHP:
- post_max_size: Parameter ini secara langsung mengawal saiz POST maksimum. Pastikan ia ditetapkan kepada nilai yang lebih besar daripada 256M.
- upload_max_filesize: Walaupun tidak berkaitan, tetapan ini mungkin juga memberi kesan kepada muat naik fail, yang mungkin boleh mengganggu permintaan anda.
- max_input_time: Laraskan tetapan ini kepada menghalang operasi POST daripada melebihi had masa tertentu.
- max_input_nesting_level: Jika data anda mengandungi tatasusunan bersarang dalam, had ini mungkin perlu ditingkatkan.
- max_execution_time: Tetapan ini tidak mungkin menjejaskan isu ini.
- memory_limit: Sahkan bahawa saiz data anda tidak melebihi had memori yang diperuntukkan kepada subproses PHP.
- max_input_vars: Pastikan parameter ini ditetapkan cukup tinggi untuk menampung bilangan elemen dalam data POST tatasusunan.
Pertimbangan Lain
Jika anda mengesahkan bahawa had Apache dan PHP adalah mencukupi, pertimbangkan perkara berikut:
- Semak saiz data yang anda cuba hantar.
- Pastikan penyemak imbas tidak mengehadkan penghantaran data.
- Periksa log pelayan untuk sebarang mesej ralat tambahan.
Atas ialah kandungan terperinci Mengapa Saya Menerima Ralat 'Indeks Tidak Ditakrifkan' Semasa Menghantar Data POST Besar ke PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!