28/07/2017 09:17:56 [error] 2488#0: *460868 FastCGI enviado en stderr: "PHP message: PHP Warning: Desconocido: Las variables de entrada superaron las 1000. Para aumentar el cambio de límite max_input_vars en php.ini. en Desconocido en la línea 0" mientras leía la cabecera de respuesta desde el upstream, cliente: 1.1.1.1, servidor:www.itsvse.com, solicitud: "POST /admin.php HTTP/1.0", upstream: "fastcgi://127.0.0.1:9000", host: "www.itsvse.com", referrer: "http://www.it.com/xxx"
Un problema que aparece en el registro de errores de php
El informe de errores sigue siendo muy amigable, debería mostrar el máximo número de publicaciones, hasta 1000 mensajes
Otros en Internet también se han encontrado con ello
Hace algún tiempo, participé en el desarrollo de una API APP, una de las cuales consiste en enviar la agenda del cliente a través de JSON, API de solicitud POST; al principio de la prueba no se encontró ningún problema, y luego un cliente probó los datos subidos incompletos, reportando un error anormal. Más tarde, revisé los registros y vi que los datos recibidos por POST estaban incompletos. Independientemente de si se aprueban 1.000 o 2.000 a la vez, solo se muestran más de 300 registros en el registro.
Después de una tarde de lanzamiento, finalmente descubrí que el paquete JSON que se publicaba estaba truncado por PHP por defecto. La razón está relacionada con un parámetro. php.ini max_input_vars en el expediente. Esta es una variable que se ha añadido desde PHP 5.3.9.
max_input_vars, se refiere al número de commits que se expresan, con un valor por defecto de 1000. El propósito oficial de añadir esta variable es proteger mejor el servidor de los ataques. Evita obstruir.
Después de modificar, necesitas modificar y reiniciar php-fpm
Servicio PHP-parada FPM
Inicio de servicio PHP-FPM
Después de reiniciar php-fpm, el max_input_vars hará efecto, ¿el problema está resuelto? Solución, modifica php.ini max_input_vars parámetros y luego reinicia para resolver el problema.
|