Me encontré con este error al intentar subir contenido de más de 8 MB a mi servidor Nginx con PHP-FPM:

2016/12/19 06:21:09 [error] 32610#0: *286 FastCGI sent in stderr: "PHP message: PHP Warning:  POST Content-Length of 10857140 bytes exceeds the limit of 8388608 bytes in Unknown on line 0" while reading response header from upstream, client: 6.6.6.6, server: www.linuxito.com, request: "POST /index.php HTTP/1.1", upstream: "fastcgi://unix:/run/forest/php5-fpm.sock:", host: "www.linuxito.com", referrer:"https://www.linuxito.com/index.php"



Este error ocurre cuando los datos enviados a través del método HTTP POST sobrepasan un límite establecido (por defecto 8 MB en PHP5).

Inicialmente pensé en incrementar el valor en la variable upload_max_filesize en el archivo php.ini del servidor FPM (/etc/php5/fpm/php.ini), ya que estaba intentando subir un archivo:

upload_max_filesize = 20M

Sin embargo existe una variable específica para el caso de los daos que se suben a través del método HTTP POST:

post_max_size = 20M

Es necesario incrementar ambas variables para que la subida no falle.

Luego, reiniciar el servidor FPM:

# service php-fpm restart

Por otro lado, es necesario verificar la configuración del servidor Nginx (/usr/local/nginx/conf/nginx.conf) para comprobar que el límite para el tamaño de los requerimientos de los clientes no sea menor (sobre todo si se ha efectuado un hardening del servidor Nginx):

client_max_body_size 20M;
Y reiniciar el servidor Nginx.

# service nginx restart

En servidores Apache con PHP corriendo como módulo la configuración es idéntica, excepto que el archivo php.ini se encuentra en otra ruta:

/etc/php5/apache2/php.ini

Referencias

Increase file upload size limit in PHP-Nginx


Tal vez pueda interesarte


Compartí este artículo