Skip to main content
PHP logo

How to Increase the Max File Upload Size for WordPress

If you need to upload an MP3 or video to your WordPress website, sooner or later you’re going to be held hostage by the standard 10MB file upload limit.

Sure, you can always upload files via FTP, but what if you’re building a website for a client who’s eyes glaze over (and/or show a shock of alarm) when you causally mention “FTP”.

Fret not.  I’m going to show you how to fix this for evermore.

The 10 MB limit comes from your php.ini file, which controls the PHP settings for your website.  However, if you go into your cPanel (or alternative) account, you might well discover that this fabelled “php.ini” file is no-where to be found.

To install a default copy of php.ini that you can modify:

  1. Log into your cPanel account.
  2. Go to the Software/Services area.
  3. Click on the PHP Config icon.
  4. Once there, choose the version of PHP you will be using (read the note below first) and click Save Changes, which will place a php.ini file into your public_html directory.
    • NOTE: By default, php.ini files only affect the immediate folder they are placed in (i.e. they are not recursive). To make your php.ini file recursive, use the PHP Config area to set your account to the appropriate (Single php.ini) version needed. This will ensure the php.ini file in the public_html directory is used for all the folders in your website.
  5. Now if you go into your public_html directory (either via FTP, or your cPanel file manager) you should see your new php.ini file happily sitting there.
  6. Now to upgrade the settings to allow you to have bigger uploads:
    • Backup your php.ini file before you do anything.
    • Then open the php.ini file so that you can edit it.
    • Check that file_uploads is set to On (needed to upload files via a PHP script).
    • Set upload_max_filesize to 64M (or less).
    • Set post_max_size to 64M (or less).
    • Set memory_limit, to 64M (or less).
    • Set max_input_time to 600 or less.
    • Set max_execution_time to 300 or less.
    • Save your php.ini file.

You should now be good to go.

Good to know #1:  upload_max_filesize, post_max_size, and memory_limit define how large the upload files can be.
Good to know #2max_input_time and max_execution_time define how long a script can run.

Both of the above impact (either directly or indirectly) the size of the file you can upload through your WordPress admin area.

Further Exploring: there are additional descriptions within the php.ini file itself, and if you really fancy immersing yourself in the joys of the PHP, you might like http://www.php.net/docs.php

max file size, mp3 uploads, video uploads, wordpress


Sara Thornton

Sara is a Jack (or Jill) of many trades. A web designer and developer, an ethical SEO implementer, an AdWords advocate, as well as being our in house user-guide creator and trainer. In her spare time she loves a bendy/stretchy yoga session, and feels most happy when she's near the ocean (ideally with a ridiculously absorbing book).

Comments (4)

Leave a Reply

Your email address will not be published. Required fields are marked *