One of the most common frustrations for Moodle administrators and teachers is trying to upload a large file—maybe a video lecture, a big PDF, or a SCORM package—only to be blocked by a size limit. If you've seen a message like The file you selected is too large, you're in the right place.

In this guide, we'll walk you through why Moodle limits upload sizes and show you several easy ways to increase the limit, starting with control panel methods that don't require any command line knowledge.

Why Does Moodle Limit Upload Sizes?

Moodle itself doesn't invent these limits out of thin air. The maximum upload size is actually controlled by a chain of settings, and the smallest value in the chain always wins. These settings live in:

  • PHP configuration — the upload_max_filesize and post_max_size values.
  • Moodle site administration — a site-wide maximum upload size.
  • Course & activity settings — each course or assignment can set its own limit (but never higher than the site limit).

So even if you bump up one setting, another lower limit further down the chain can still block you. We'll fix each layer below.

Pro Tip: Always increase the PHP limits first, then adjust Moodle. Moodle can only offer upload sizes up to whatever PHP allows on the server.

Step 1: Check Your Current PHP Limits

Before changing anything, it helps to know your current values. The easiest way in Moodle is:

  1. Log in as an administrator.
  2. Go to Site administration → Server → PHP info.
  3. Search the page for upload_max_filesize and post_max_size.

Whatever numbers you see here are your real ceilings. Now let's raise them.

Step 2: Increase PHP Limits (cPanel Method — Recommended)

If your Moodle site is hosted on a Hostiso account, you can adjust PHP settings visually without touching any code. This is the easiest and safest method.

Using the MultiPHP INI Editor

  1. Log in to cPanel.
  2. Under the Software section, click MultiPHP INI Editor.
  3. Choose your Moodle domain from the dropdown menu.
  4. Locate and update the following values:
upload_max_filesize = 256M
post_max_size = 256M
memory_limit = 512M
max_execution_time = 300
max_input_time = 300
  1. Click Apply to save.

Here's what each setting does:

  • upload_max_filesize — the largest single file that can be uploaded.
  • post_max_size — the total size of all data sent in one request. Keep this equal to or larger than your upload size.
  • memory_limit — how much RAM PHP can use while processing the upload.
  • max_execution_time / max_input_time — how long the server waits before timing out (important for large files on slow connections).
Note: Set the values to match the largest file you realistically need to upload. There's no need to set them to extreme values like 2GB unless you genuinely upload files that big.

Step 3: Alternative — Edit php.ini via File Manager

If you prefer editing a file directly, or your setup uses a custom php.ini, you can do this through cPanel's File Manager:

  1. Open File Manager in cPanel.
  2. Navigate to your Moodle installation folder (often public_html or a subfolder).
  3. Look for a file named php.ini or .user.ini. If it doesn't exist, click + File and create .user.ini.
  4. Add or edit these lines:
upload_max_filesize = 256M
post_max_size = 256M
memory_limit = 512M
max_execution_time = 300
  1. Save the file. Changes may take a few minutes to apply due to caching.

Step 4: Update the Moodle Site-Wide Limit

Once PHP allows larger uploads, tell Moodle to actually offer that option to your users:

  1. Log in as an administrator.
  2. Go to Site administration → Security → Site security settings.
  3. Find Maximum uploaded file size.
  4. Choose your new, larger value from the dropdown (only sizes allowed by PHP will appear).
  5. Click Save changes.

Step 5: Check Course and Activity Limits

Individual courses and assignments can have their own, lower limits. To raise them:

For a whole course

  1. Open the course, then go to Settings → Edit settings.
  2. Expand the Files and uploads section.
  3. Set Maximum upload size to your desired value.

For a specific assignment

  1. Edit the assignment activity.
  2. Open the Submission types section.
  3. Adjust Maximum submission size.
Reminder: A course or activity can never allow uploads larger than the site-wide limit, which in turn can't exceed the PHP limit. It's a top-down chain.

Still Not Working? Common Gotchas

  • Values not saving in MultiPHP editor: A hardcoded php.ini or .htaccess rule may be overriding the panel. Check your Moodle root folder.
  • Uploads fail near the limit: Your post_max_size is likely smaller than upload_max_filesize. Make them equal or larger.
  • Large files time out: Increase max_execution_time and max_input_time. Slow internet connections need more time.
  • Changes take a while: Clear Moodle's cache under Site administration → Development → Purge caches.

Why Hosting Matters for Large Uploads

Uploading big videos and course packages is far smoother on fast, modern storage. Hostiso's Shared Hosting plans run on NVMe SSD storage and include cPanel with the MultiPHP INI Editor, so raising your PHP limits takes just a couple of clicks. For larger schools or busy e-learning platforms with lots of concurrent uploads, our Cloud VPS gives you dedicated resources and full control over PHP configuration. And if you ever get stuck, our 24/7 support team is happy to adjust these limits for you.

Frequently Asked Questions

What's a safe maximum upload size to set?

For most Moodle sites, 256M comfortably handles videos, SCORM packages, and large PDFs. Only go higher if you routinely upload very large media files, and make sure your server has enough disk space.

I increased the limits but Moodle still shows the old value. Why?

This is almost always a caching issue. Wait a few minutes, then purge Moodle's caches under Site administration → Development → Purge caches and refresh the page. Also double-check that post_max_size is at least as large as upload_max_filesize.

Can I let students upload large assignment files without raising the whole site limit?

Not beyond the site-wide maximum. The site limit is the hard ceiling. However, you can keep the site limit high and then set lower, activity-specific limits where you want tighter control—giving you the flexibility to allow big uploads only where needed.

That's it! By working through the PHP settings first and then Moodle's admin options, you'll clear those annoying upload restrictions and give your teachers and students the space they need.