2017/07/28 09:17:56 [kesalahan] 2488#0: *460868 FastCGI dikirim di stderr: "Pesan PHP: PHP Peringatan: Tidak diketahui: Variabel input melebihi 1000. Untuk meningkatkan batas perubahan max_input_vars di php.ini. di Tidak diketahui pada baris 0" saat membaca header respons dari hulu, klien: 1.1.1.1, server:www.itsvse.com, permintaan: "POST /admin.php HTTP/1.0", upstream: "fastcgi://127.0.0.1:9000", host: "www.itsvse.com", perujuk: "http://www.it.com/xxx"
Masalah yang muncul di log kesalahan php
Laporan kesalahannya masih sangat ramah, itu harus menjadi tampilan jumlah maksimum postingan, hingga 1000 pesan
Orang lain di Internet juga pernah menemukannya
Beberapa waktu lalu, saya berpartisipasi dalam pengembangan APP API, salah satunya adalah mengirimkan buku alamat klien melalui JSON, POST request API, di awal pengujian tidak menemukan masalah apapun, dan kemudian pelanggan menguji data yang diunggah tidak lengkap, melaporkan kesalahan yang tidak normal. Kemudian, saya memeriksa log dan menemukan bahwa data yang diterima oleh POST tidak lengkap. Terlepas dari apakah 1.000 atau 2.000 dilewati sekaligus, hanya lebih dari 300 catatan yang ditampilkan dalam log.
Setelah sore melempar, saya akhirnya menemukan bahwa paket JSON yang diposting dipotong oleh PHP secara default. Alasannya terkait dengan parameter. php.ini max_input_vars dalam file. Ini adalah variabel yang telah ditambahkan sejak PHP 5.3.9.
max_input_vars, mengacu pada jumlah penerapan yang diungkapkan, dengan nilai default 1000. Tujuan resmi penambahan variabel ini adalah untuk melindungi server dengan lebih baik dari serangan. Hindari penyumbatan.
Setelah memodifikasi, Anda perlu memodifikasi dan memulai ulang php-fpm
Layanan PHP-FPM berhenti
Layanan php-fpm mulai
Setelah memulai ulang php-fpm, max_input_vars akan berlaku, apakah masalahnya terpecahkan? Solusi, ubah parameter php.ini max_input_vars, lalu mulai ulang untuk menyelesaikan masalah!
|