2017/07/28 09:17:56 [помилка] 2488#0: *460868 FastCGI надіслав stderr: "PHP-повідомлення: PHP Попередження: Невідомо: Вхідні змінні перевищили 1000. Щоб збільшити зміну ліміту, max_input_vars у php.ini. у Невідомо на рядку 0", читаючи заголовок відповіді з upstream, клієнт: 1.1.1.1, сервер:www.itsvse.com, запит: "POST /admin.php HTTP/1.0", upstream: "fastcgi://127.0.0.1:9000", хост: "www.itsvse.com", реферер: "http://www.it.com/xxx"
Проблема, яка з'являється в журналі помилок php
Звіт про помилки все ще дуже дружній, він має відображати максимальну кількість постів — до 1000 повідомлень
Інші в Інтернеті також стикалися з цим
Деякий час тому я брав участь у розробці APP API, один із яких — надсилати адресну книгу клієнта через JSON, POST request API, на початку тесту проблем не виявив, а потім клієнт перевірив завантажені дані неповними, повідомивши про аномальну помилку. Пізніше я перевірив журнали і виявив, що отримані POST дані були неповними. Незалежно від того, чи передається одночасно 1 000 чи 2 000 записів, у журналі відображається лише понад 300 записів.
Після післяобіднього часу я нарешті виявив, що JSON-пакет, який був опублікований, за замовчуванням обрізаний PHP. Причина пов'язана з певним параметром. php.ini max_input_vars у справі. Ця змінна додається з версії PHP 5.3.9.
max_input_vars, означає кількість комітів, які виражаються, з значенням за замовчуванням 1000. Офіційна мета додавання цієї змінної — краще захистити сервер від атак. Уникайте засмічення.
Після модифікації потрібно змінити і перезапустити php-fpm
Сервіс PHP-FPM Stop
Сервіс PHP-FPM START
Після перезапуску php-fpm max_input_vars почне діяти, чи вирішена проблема? Розв'язку, змініть php.ini max_input_vars параметри, а потім запустіть заново, щоб вирішити проблему!
|