{"id":1601,"date":"2026-09-03T16:58:27","date_gmt":"2026-09-03T11:28:27","guid":{"rendered":"https:\/\/cpanelfree.com\/blog\/how-to-increase-phpmyadmin-upload-file-size-limit\/"},"modified":"2026-09-03T17:01:29","modified_gmt":"2026-09-03T11:31:29","slug":"how-to-increase-phpmyadmin-upload-file-size-limit","status":"publish","type":"post","link":"https:\/\/cpanelfree.com\/blog\/how-to-increase-phpmyadmin-upload-file-size-limit\/","title":{"rendered":"How to Increase phpMyAdmin Upload File Size Limit in cPanel &amp; Linux VPS"},"content":{"rendered":"<div style=\"background-color: #f8fafc;border-left: 4px solid #0ea5e9;padding: 20px;border-radius: 6px;margin-bottom: 25px\">\n<p style=\"margin: 0;font-size: 16px;color: #1e293b\">\n        <strong>Quick Answer:<\/strong> To increase the phpMyAdmin upload file size limit from the default 2MB to 512MB+, adjust 4 core PHP directives in your active <code>php.ini<\/code> file: set <code>upload_max_filesize = 512M<\/code>, <code>post_max_size = 512M<\/code>, <code>memory_limit = 512M<\/code>, and <code>max_execution_time = 300<\/code>. In cPanel, navigate to <strong>Select PHP Version &gt; Options<\/strong> or <strong>MultiPHP INI Editor<\/strong> to apply these values in 1-click.\n    <\/p>\n<\/div>\n<h2>Why Does phpMyAdmin Default to a 2MB Upload Limit?<\/h2>\n<p>By default, vanilla PHP installations restrict file uploads to 2MB (<code>upload_max_filesize = 2M<\/code>) to prevent unauthorized users from exhausting server memory buffers during HTTP POST requests. However, modern WordPress databases with years of blog posts, WooCommerce transactions, and page builder data routinely exceed 50MB to 500MB, triggering the frustrating <em>&#8220;No data was received to import&#8221;<\/em> or <em>&#8220;File exceeds maximum allowed size&#8221;<\/em> errors in phpMyAdmin.<\/p>\n<h2>Method 1: Increasing Upload Limits in cPanel (Shared Hosting)<\/h2>\n<ol style=\"padding-left: 20px;line-height: 1.8\">\n<li>Log in to your <a href=\"https:\/\/cpanelfree.com\/\">CpanelFree<\/a> dashboard and scroll to the <strong>Software<\/strong> section.<\/li>\n<li>Click on <strong>MultiPHP INI Editor<\/strong> (or <em>Select PHP Version &gt; Options<\/em>).<\/li>\n<li>Select your home directory or specific domain from the dropdown menu.<\/li>\n<li>Locate and update the following four values:\n<ul>\n<li><code>upload_max_filesize<\/code>: <strong>512M<\/strong><\/li>\n<li><code>post_max_size<\/code>: <strong>512M<\/strong> (Must always be equal to or greater than upload_max_filesize)<\/li>\n<li><code>memory_limit<\/code>: <strong>512M<\/strong><\/li>\n<li><code>max_execution_time<\/code>: <strong>300<\/strong> (Seconds)<\/li>\n<\/ul>\n<\/li>\n<li>Click <strong>Apply<\/strong>. Re-open phpMyAdmin, and the import screen will now display <em>&#8220;(Max: 512MiB)&#8221;<\/em>.<\/li>\n<\/ol>\n<h2>Method 2: Increasing Limits in Linux VPS (Ubuntu \/ Debian \/ Nginx \/ Apache)<\/h2>\n<p>On dedicated or cloud VPS instances, edit the master PHP-FPM configuration file using your preferred terminal editor:<\/p>\n<pre style=\"background-color: #1e293b;color: #38bdf8;padding: 14px;border-radius: 6px;font-size: 13px\">sudo nano \/etc\/php\/8.3\/fpm\/php.ini<\/pre>\n<p>Search for and update the directives:<\/p>\n<pre style=\"background-color: #1e293b;color: #38bdf8;padding: 14px;border-radius: 6px;font-size: 13px\">upload_max_filesize = 512M\npost_max_size = 512M\nmemory_limit = 512M\nmax_execution_time = 300\nmax_input_time = 300<\/pre>\n<h3>Updating Nginx Client Body Buffer Limit (client_max_body_size)<\/h3>\n<p>If your VPS runs Nginx reverse proxy, Nginx enforces its own independent upload restriction (default 1MB). Add this line inside the <code>http { ... }<\/code> or <code>server { ... }<\/code> block in <code>\/etc\/nginx\/nginx.conf<\/code>:<\/p>\n<pre style=\"background-color: #1e293b;color: #38bdf8;padding: 14px;border-radius: 6px;font-size: 13px\">client_max_body_size 512M;<\/pre>\n<p>Restart PHP-FPM and Nginx to load the changes:<\/p>\n<pre style=\"background-color: #1e293b;color: #38bdf8;padding: 14px;border-radius: 6px;font-size: 13px\">sudo systemctl restart php8.3-fpm\nsudo systemctl restart nginx<\/pre>\n<h2>Method 3: Increasing Limits via .htaccess or .user.ini<\/h2>\n<p>On Apache servers running PHP as an Apache module or via FastCGI, add these rules to your root <code>.htaccess<\/code> file:<\/p>\n<pre style=\"background-color: #1e293b;color: #38bdf8;padding: 14px;border-radius: 6px;font-size: 13px\">php_value upload_max_filesize 512M\nphp_value post_max_size 512M\nphp_value memory_limit 512M\nphp_value max_execution_time 300\nphp_value max_input_time 300<\/pre>\n<div style=\"background-color: #f8fafc;border: 1px solid #e2e8f0;border-left: 4px solid #0ea5e9;padding: 20px;border-radius: 8px;margin: 30px 0\">\n<h3 style=\"margin-top: 0;color: #0f172a;font-size: 18px;display: flex;align-items: center\">\n        <span style=\"margin-right: 8px\">\ud83d\udd17<\/span> Recommended Related Technical Guides:<br \/>\n    <\/h3>\n<ul style=\"margin: 10px 0 0 0;padding-left: 20px;line-height: 1.8\">\n<li><a href=\"https:\/\/cpanelfree.com\/blog\/how-to-export-import-large-mysql-database-command-line\/\" style=\"color: #0284c7;text-decoration: none;font-weight: 600\">How to Export &amp; Import Large MySQL Databases via CLI<\/a><\/li>\n<li><a href=\"https:\/\/cpanelfree.com\/blog\/how-to-optimize-mariadb-mysql-configuration-vps\/\" style=\"color: #0284c7;text-decoration: none;font-weight: 600\">How to Optimize MariaDB \/ MySQL Configuration for VPS<\/a><\/li>\n<li><a href=\"https:\/\/cpanelfree.com\/blog\/how-to-fix-error-establishing-database-connection-wordpress\/\" style=\"color: #0284c7;text-decoration: none;font-weight: 600\">How to Fix Error Establishing a Database Connection in WordPress<\/a><\/li>\n<li><a href=\"https:\/\/cpanelfree.com\/#plans\" style=\"color: #0284c7;text-decoration: none;font-weight: 600\">Explore $0 Free cPanel Web Hosting Plans<\/a><\/li>\n<\/ul>\n<\/div>\n<h2>Understanding max_input_vars and Memory Fragmentation in phpMyAdmin<\/h2>\n<p>In addition to file size directives, importing complex multi-table SQL backups containing thousands of WooCommerce attributes or translated taxonomy terms can trigger truncated input errors. In your <code>php.ini<\/code>, increase the <strong>max_input_vars<\/strong> limit from the default 1000 to 5000:<\/p>\n<pre style=\"background-color: #1e293b;color: #38bdf8;padding: 14px;border-radius: 6px;font-size: 13px\">max_input_vars = 5000\nmax_input_time = 600<\/pre>\n<h2>Bypassing Browser Timeouts with Gzip Compressed Imports<\/h2>\n<p>Instead of uploading raw uncompressed <code>.sql<\/code> files (which waste upload bandwidth and trigger HTTP socket timeouts), always compress your SQL dumps into <code>.sql.gz<\/code> or <code>.sql.zip<\/code> format prior to uploading. phpMyAdmin automatically detects compressed archives, decompresses them in memory on the fly, and reduces initial network upload payload by up to <strong>85%<\/strong>.<\/p>\n<h2>Diagnostic Checklist for phpMyAdmin Upload Errors<\/h2>\n<ul style=\"padding-left: 20px;line-height: 1.8\">\n<li>\u2705 <strong>Verify upload_tmp_dir:<\/strong> Ensure the Linux temporary upload directory (<code>\/tmp<\/code>) has free disk space and write permissions (<code>chmod 1777 \/tmp<\/code>).<\/li>\n<li>\u2705 <strong>Check Post Max Size Alignment:<\/strong> Confirm <code>post_max_size<\/code> is set strictly equal to or larger than <code>upload_max_filesize<\/code>.<\/li>\n<li>\u2705 <strong>Restart Web Daemons:<\/strong> Always reload PHP-FPM and Nginx\/Apache after editing configuration files.<\/li>\n<\/ul>\n<h2>Comparing Upload Limits Across Common Web Control Panels<\/h2>\n<table style=\"width: 100%;border-collapse: collapse;margin: 20px 0;font-size: 14px\">\n<thead>\n<tr style=\"background-color: #0f172a;color: #ffffff\">\n<th style=\"padding: 10px;border: 1px solid #334155\">Control Panel<\/th>\n<th style=\"padding: 10px;border: 1px solid #334155\">Default Limit<\/th>\n<th style=\"padding: 10px;border: 1px solid #334155\">Configuration Location<\/th>\n<th style=\"padding: 10px;border: 1px solid #334155\">Restart Required?<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr style=\"background-color: #f8fafc\">\n<td style=\"padding: 10px;border: 1px solid #cbd5e1;font-weight: bold\">cPanel \/ WHM<\/td>\n<td style=\"padding: 10px;border: 1px solid #cbd5e1\">50 MB<\/td>\n<td style=\"padding: 10px;border: 1px solid #cbd5e1\">MultiPHP INI Editor \/ Tweak Settings<\/td>\n<td style=\"padding: 10px;border: 1px solid #cbd5e1;color: #10b981\">No (Automatic)<\/td>\n<\/tr>\n<tr>\n<td style=\"padding: 10px;border: 1px solid #cbd5e1;font-weight: bold\">CyberPanel<\/td>\n<td style=\"padding: 10px;border: 1px solid #cbd5e1\">2 MB<\/td>\n<td style=\"padding: 10px;border: 1px solid #cbd5e1\">PHP &gt; Edit PHP Configs<\/td>\n<td style=\"padding: 10px;border: 1px solid #cbd5e1;color: #10b981\">Yes (LSCache\/LSPHP)<\/td>\n<\/tr>\n<tr style=\"background-color: #f8fafc\">\n<td style=\"padding: 10px;border: 1px solid #cbd5e1;font-weight: bold\">CloudPanel<\/td>\n<td style=\"padding: 10px;border: 1px solid #cbd5e1\">100 MB<\/td>\n<td style=\"padding: 10px;border: 1px solid #cbd5e1\">PHP Settings &gt; Memory &amp; Uploads<\/td>\n<td style=\"padding: 10px;border: 1px solid #cbd5e1;color: #10b981\">No (Instant)<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<div style=\"border-bottom: 1px solid #e2e8f0;padding: 12px 0\">\n<h4 style=\"margin: 0 0 8px 0;color: #1e293b\">Why does phpMyAdmin throw a 413 Request Entity Too Large error?<\/h4>\n<p style=\"margin: 0;color: #475569;font-size: 14px\">This error is generated by the Nginx reverse proxy layer, not PHP. Adding <code>client_max_body_size 512M;<\/code> inside <code>\/etc\/nginx\/nginx.conf<\/code> immediately resolves the issue.<\/p>\n<\/div>\n<p>By properly scaling your upload limits across PHP, web server daemons, and database buffers, you ensure smooth database migrations and uninterrupted site administration.<\/p>\n<div style=\"background: linear-gradient(135deg, #0f172a 0%, #1e293b 100%);border: 1px solid #334155;border-radius: 12px;padding: 25px;margin: 30px 0;text-align: center\">\n<h3 style=\"color: #38bdf8;margin-top: 0;font-size: 20px\">Deploy Generous Resource Limits on CpanelFree<\/h3>\n<p style=\"color: #94a3b8;font-size: 14px;line-height: 1.6;max-width: 600px;margin: 0 auto 15px\">\n        Enjoy high PHP upload limits, phpMyAdmin management, free AutoSSL, and high-speed NVMe storage at 100% zero cost on <strong>CpanelFree<\/strong>.\n    <\/p>\n<p>    <a href=\"https:\/\/cpanelfree.com\/#plans\" style=\"display: inline-block;background-color: #0ea5e9;color: #ffffff;padding: 10px 22px;border-radius: 6px;text-decoration: none;font-weight: bold;font-size: 14px\">Claim Free Hosting Account<\/a>\n<\/div>\n<h2>Frequently Asked Questions<\/h2>\n<div style=\"border-bottom: 1px solid #e2e8f0;padding: 12px 0\">\n<h4 style=\"margin: 0 0 8px 0;color: #1e293b\">Why does phpMyAdmin still show 2MB after updating upload_max_filesize?<\/h4>\n<p style=\"margin: 0;color: #475569;font-size: 14px\">phpMyAdmin selects the smaller value between <code>upload_max_filesize<\/code> and <code>post_max_size<\/code>. If you set upload to 512M but post_max_size remains 2M, the limit will stay 2MB. Ensure both directives are updated identically.<\/p>\n<\/div>\n<div style=\"border-bottom: 1px solid #e2e8f0;padding: 12px 0\">\n<h4 style=\"margin: 0 0 8px 0;color: #1e293b\">What is the fastest way to import databases larger than 1 GB?<\/h4>\n<p style=\"margin: 0;color: #475569;font-size: 14px\">For multi-gigabyte databases, bypass HTTP web interfaces entirely and import directly through SSH using the command: <code>mysql -u db_user -p db_name &lt; backup.sql<\/code>.<\/p>\n<\/div>\n<h2>Troubleshooting phpMyAdmin Session Expired Errors<\/h2>\n<p>If phpMyAdmin logs you out during long database imports, increase the session expiration timeout in <code>php.ini<\/code>: <code>session.gc_maxlifetime = 3600<\/code>. This keeps your administrative session active for up to 60 minutes continuously.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Quick Answer: To increase the phpMyAdmin upload file size limit from the default 2MB to 512MB+, adjust 4 core PHP directives in your active php.ini file: set upload_max_filesize = 512M, post_max_size = 512M, memory_limit = 512M, and max_execution_time = 300. In cPanel, navigate to Select PHP Version &gt; Options or MultiPHP INI Editor to apply [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":1600,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[51],"tags":[],"class_list":["post-1601","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tutorials"],"_links":{"self":[{"href":"https:\/\/cpanelfree.com\/blog\/wp-json\/wp\/v2\/posts\/1601","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cpanelfree.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cpanelfree.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/cpanelfree.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/cpanelfree.com\/blog\/wp-json\/wp\/v2\/comments?post=1601"}],"version-history":[{"count":3,"href":"https:\/\/cpanelfree.com\/blog\/wp-json\/wp\/v2\/posts\/1601\/revisions"}],"predecessor-version":[{"id":1640,"href":"https:\/\/cpanelfree.com\/blog\/wp-json\/wp\/v2\/posts\/1601\/revisions\/1640"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/cpanelfree.com\/blog\/wp-json\/wp\/v2\/media\/1600"}],"wp:attachment":[{"href":"https:\/\/cpanelfree.com\/blog\/wp-json\/wp\/v2\/media?parent=1601"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cpanelfree.com\/blog\/wp-json\/wp\/v2\/categories?post=1601"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cpanelfree.com\/blog\/wp-json\/wp\/v2\/tags?post=1601"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}