How to Fix client intended to send too large body

    Posted in Linux Servers on Aug 24, 2018

    First you need to edit the /etc/nginx/nginx.conf file by typing the vi command:

    $ sudo vi /etc/nginx/nginx.conf

    In http (server/location) section add the following directive to set the

    maximum allowed size in 10MB:
    
    client_max_body_size 10M;

    Save and close the file.

    Test nginx configuration for error

    Run the following command:

    $ sudo nginx -t

    Sample outputs:

    nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
    nginx: configuration file /etc/nginx/nginx.conf test is successful

    If no error means, restart the nginx web server.

    $ sudo systemctl reload nginx
    
    OR
    
    $ sudo service nginx reload

    Verify configuration by uploading a large file. Make sure you watch nginx error log too:

    $ sudo tail -f /var/log/nginx/error.log

    How to configure php to accept upload upto 10MB

    Edit your php.ini file and make sure the following two line present in it:

    $ sudo vi /etc/php.ini

    Append or edit as follows:

    upload_max_filesize=10M
    post_max_size=10M

    Save and close the file. Restart your Nginx PHP-fpm service:

    $ sudo systemctl start php-fpm
    
    OR
    
    $ sudo /etc/init.d/php-fpm restart

    OR

    # /usr/local/etc/rc.d/php-fpm restart

    Now upload a file and test it.

    Summary:

    In short you need the following line in nginx.conf and php.ini using the grep command/egrep command/tail command:

    $ grep client_max_body_size /etc/nginx/options.conf
    $ egrep 'upload_max_filesize|post_max_size' /etc/php/7.0/fpm/conf.d/99-custom.ini
    $ tail -f /var/log/nginx/error.log
    $ tail -f /var/log/nginx/php-fpm-error.log