I am unable to upload WordPress themes larger than 2 MB in size; I receive the error message “the uploaded file exceeds the upload_max_filesize directive in php.ini”. How can I resolve this?

The default PHP configuration on an AWS EC2 instance doesn’t allow uploading of files larger than 2 MB in size. Change the default value of the ‘upload_max_filesize’ parameter in /etc/php-<version>.ini.

Single EC2 Instance

1.    For a single EC2 instance running a LAMP stack, open the file /etc/php-5.5.ini (this file name may vary based on the PHP version) using your favorite editor.

$ sudo vi /etc/php-5.5.ini

2.    Change the value of the parameter "upload_max_filesize" from 2MB to a larger size and save the file.

3.    Restart the Apache server gracefully.

$ sudo apachectl -k graceful 

Note: To ensure that this change persists across new instances, update the underlying AMI.

Elastic Beanstalk

This can be achieved with an .ebextensions config file:

files:

    "/etc/php.d/99uploadsize.ini":

        mode: "000644"

        owner: root

        group: root

        content: |

            upload_max_filesize = 100M

            post_max_size = 100M

commands:

    remove_old_ini:

        command: "rm -f /etc/php.d/99uploadsize.ini.bak"

Note: Consider checking for whitespace problems using a YAML validator. The remove_old_ini command removes unnecessary backup files. The post_max_size is raised to 100 MB in this example because the default size is 8 MB; for more information, see Extending php.ini.

Elastic Beanstalk, EC2, WordPress, themes, PHP, ebextensions


Did this page help you? Yes | No

Back to the AWS Support Knowledge Center

Need help? Visit the AWS Support Center

Published: 2016-12-27

Updated: 2017-01-05