[php] Import file size limit in PHPMyAdmin

I have changed all the php.ini parameters I know: upload_max_filesize, post_max_size.

Why am I still seeing 2MB?

Im using Zend Server CE, on a Ubuntu VirtualBox over a Windows 7 host.

This question is related to php mysql phpmyadmin

The answer is


In my case, I also had to add the line "FcgidMaxRequestLen 1073741824" (without the quotes) in /etc/apache2/mods-available/fcgid.conf. It's documented here http://forum.ispsystem.com/en/showthread.php?p=6611 . Since mod_fcgid 2.3.6, they changed the default for FcgidMaxRequestLen from 1GB to 128K (see https://svn.apache.org/repos/asf/httpd/mod_fcgid/trunk/CHANGES-FCGID )


Check your all 3:

  • upload_max_filesize
  • memory_limit
  • post_max_size

in the php.ini configuration file

* for those, who are using wamp @windows, you can follow these steps: *

Also it can be adapted to any phpmyadmin installation.

Find your config.inc.php file for PhpMyAdmin configuration (for wamp it's here: C:\wamp\apps\phpmyadminVERSION\config.inc.php

add this line at the end of the file BEFORE "?>":

$cfg['UploadDir'] = 'C:\wamp\sql';

save

create folder at

C:\wamp\sql 

copy your huge sql file there.

Restart server.

Go to your phpmyadmin import tab and you'll see a list of files uploaded to c:\wamp\sql folder.


I had a problem with changing the upload size on my phpmyadmin and OS X 10.9.4 Mavericks. At first I didn't know where the php.ini is so used locate

locate php.ini

which came back with

/private/etc/php.ini.default
/usr/local/etc/php/5.4/php.ini

I've tried editing /usr/local/etc/php/5.4/php.ini and then restart in the server put this didn't work.

I remembered that there is a better way to find out this file I'm looking for or and least where php is looking for php.ini.

<?php phpinfo() ?>

came back saying that it expects /etc/php.ini but I didn't have one there. The below is from the phpinfo():

Configuration File (php.ini) Path: /etc

It turns out that the first result in the locate command above is what I'm looking for.

At least in OS X 10.9.4 Mavericks (OS X is something new to me) /etc is actually a link, etc -> private/etc, and by the looks of it PHP assumes default values unless php.ini is actually present.

I copied /private/etc/php.ini.default

cp /private/etc/php.ini.default /private/etc/php.ini

Then checked the variables in the new /etc/php.ini as per Aditya Bhatt advice above and it worked. In my case the values were:

memory_limit =128M
post_max_size = 64M
upload_max_filesize = 64M

Obviously, the apache service has to be restarted to see the changes.


I had the same problem. My Solution: go to /etc/phpmyadmin and edit apache.conf in the <Directory>[...]</Directory> section you can add

php_value upload_max_filesize 10M
php_value post_max_size 10M

Solved the problem for me!


do the following things

  • increase upload_max_file_size in php.ini
  • gzip your sql file

and then import the file


Just change your php.ini(xampp/php/php.ini) file, it worked for me!

max_execution_time = 5000
max_input_time = 5000
memory_limit = 1000M
post_max_size = 750M
upload_max_filesize = 750M

And, don't forget to restart Apache Module from XAMPP Control Panel.


You could just use MySQL administrator app or MySQL workbench. Lightweight apps and you can export or import your entire server however the size. Am late to the party here but I hope it helps someone.


Find the file called: php.ini on your server and follow below steps

With apache2 and php5 installed you need to make three changes in the php.ini file. First open the file for editing, e.g.:

sudo gedit /etc/php5/apache2/php.ini

OR

sudo gedit /etc/php/7.0/apache2/php.ini

Next, search for the post_max_size entry, and enter a larger number than the size of your database (15M in this case), for example:

post_max_size = 25M

Next edit the entry for memory_limit and give it a larger value than the one given to post_max_size.

Then ensure the value of upload_max_filesize is smaller than post_max_size.

The order from biggest to smallest should be:

    memory_limit
    post_max_size
    upload_max_filesize

After saving the file, restart apache (e.g. sudo /etc/init.d/apache2 restart) and you are set.

Don't forget to Restart Apache Services for changes to be applied.

For further details, click here.


enter image description here

Open this file

edit these parameters:

  • memory_limit =128M
  • post_max_size = 64M
  • upload_max_filesize = 64M

I was facing the same problem where increasing max size in php.ini has no effect on wordpress and tried many solutions like -:

  1. Increase max size via functions.php
  2. Increase max size via .htaccess file.

The one that worked for me is adding max size in .htaccess file. It wasn't working with neither with php.ini file nor with functions.php file.

I just did add this code in .htaccess file and its done

php_value upload_max_filesize 64M
php_value post_max_size 64M
php_value max_execution_time 300
php_value max_input_time 300

NOTE: I did add above code in <IfModule> tag.

If php.ini file is not doing anything in changing size then try other 2 files for it and one of them will surely work for you.

READ THIS ARTICLE TO KNOW ABOUT ALL FILES IN WHICH YOU CAN INCREASE MAX SIZE


 php_value upload_max_filesize 100M
    php_value post_max_size 100M

increse that size in php.ini then run command

sudo service apache2 restart
sudo service mysql restart

in xammp

restart all service

For uploading large files through PHPMyAdmin, follow these steps:

Step 1: Open your php.ini file.

Step 2: Upgrading Memory Limit:

memory_limit = 750M

Step 3: Upgrading Maximum size to post:

post_max_size = 750M

Step 4: Upgrading Maximum file-size to upload:

upload_max_filesize = 1000M

Step 5: Upgrading Maximum Execution Time:

max_execution_time = 5000

Step 6: Upgrading Maximum Input Time:

max_input_time = 3000

Step 7: Restart your xampp control panel.


I found the problem and am post hete if anyone followed some blog post out there to create the sort of enviromment I have (win 7 host with ubuntu and zend server ce on virtual box).

The thing is that MySQL is running on Lighttpd, not under Apache. So I had to change the php.ini file under that webserver as well which is in the path:

/usr/local/zend/gui/lighttpd/etc/php-fcgi.ini

In the end, you were right about the files, of course, but I was wrong on what file I had to change :)


With WAMP, on Windows10, open

c:\wamp64\alias\phpmyadmin.conf

and change 128 by 256 at the end of these lines

  php_admin_value upload_max_filesize 128M
  php_admin_value post_max_size 128M

Restart WAMP


C:\xampp\php\php.ini in my case or it could be C:\php\php.ini if the Apache / PHP / MySQL are stand alone

upload_max_filesize = 2M by default

so it can be changed as desired. And in my case upload_max_filesize = 20M

post_max_size = 8M by default it should be changed to post_max_size = 20M as well

memory_limit=128M is by default and it is not necessary to change to increase the max 2056kb or 2mb .sql file upload limit. But it only means that a script can consume up to 128 memory when you run apache and sql server , and if you change memory_limit=128M to higher and run any malfunctioned script then it may cause you trouble. So its up to you.


How to import huge amount of Data in Xampp

It’s the best solution to open new, clean database, and import the file in phpMyAdmin. Choose file from local folder and leave all settings as is. That should be it.

But if your file exceeded file size of 2MB (that is default value in xampp installation) than you need to tweak some out. Basically we will just increase the maximum upload file size.

Open your xampp install folder and go to php folder. With some text editor file (notepad++) open the file called php.ini (by type windows describe it as configuration settings) and edit the line (cca. 770, or press ctrl+f in notepad++ to find it):

post_max_size = 2M

instead 2M, put wanted maximum file size (16MB for example but not higher than 128M),

after that go to this line: max_execution_time = 30 instead 30, increase execution time that’s in seconds (90 for example), also you need to change this line:

max_input_time = 60

instead 60, increase input time in seconds (120 for example) and top of all you have to change this line:

upload_max_filesize = 2M

instead of 2M, increase to 16M for example. Save the file, restart apache and mysql in xampp and try to upload again, if you follow correctly you should be able to import files through 16MB (example)


Search for php.ini file

For xampp, you can get it @ C:\xampp\php

Find the following 3 properties and set there value according to your need

memory_limit post_max_size upload_max_filesize

Restart Apache!


I had the same problem, My upload limit was 2 MB, I edited my php.ini, and I set it to 5 MB but still it was showing 2 MB even after restarting server. Than I compressed my .sql file to zip by keeping its name as xyz.sql.zip so it became 451 kb from 3.5 mb. Then I uploaded it again. It worked for me.


None of the current answers will work for WHM / cPanel servers.

To increase the limit in WHM:

  1. Navigate to Server Configuration > Tweak Settings
  2. Choose the PHP tab
  3. Update "cPanel PHP max POST size" & "cPanel PHP max upload size" (POST size should be bigger)

I think if your php version is above 5.5, let say it is 5.6, then your php.ini file is in following folder

/etc/php/5.6/apache2

so you have to apply your changes like post_max_size, upload_max_filesize and memory_limit there.

Hope it will help you.


I found that increasing the upload and post limit in php.ini did not affect the limit in phpmyadmin. This is because my server has a separate setting for cpanel upload limit. If you have access to WHM, you probably have this.

To adjust:

  • login to your WHM panel: this is usually located at {your server ip}/whm and you will need your root login details here. If you don't have those, request them from your host.
  • once logged in, in the top left search bar, search for "tweak settings"
  • On the tweak setting pages, search for "cPanel PHP max upload size"
  • Adjust the number and save

No need to restart apache or anything, changes are instant. This process increased the value of max upload file size in phpmyadmin. You can check this by going to phpmyadmin and selecting your database, then clicking "import" at the top. Beside the file selector you will see the upload limit. My server default was 100.


I am using Bitnami WAMP Stack 7.1.8-0 on my localhost. For me, the PHPMyAdmin maximum upload size limit was set to 80MiB as in the screenshot https://nimb.ws/fFxv7O. I managed to increase this size limit as explained below:

  1. Go to the folder where you have installed the Bitname WAMP Stack, for me, it is "E:\Bitnami WAMP Stack”
  2. Further inside, go to the path “apps\phpmyadmin\conf"
  3. Open the file httpd-app.conf in your favorite text editor
  4. Find the following two lines:
php_value upload_max_filesize 80M    
php_value post_max_size 80M

(The 80M value at the end of these lines may be different for you)

  1. Go ahead and change these values at the end of these two lines (80M in this case) according to your needs.

  2. Restart WAMP server.

Now go to PHPMyAdmin and see, your upload size limit should be updated to whatever you set it to. That is it.


Note: (added July 2020)

I'm surprised nobody else has mentioned this ... changing php.ini should probably be your last resort when increasing file upload sizes to something as big as 64MB.

It may not matter greatly on development machines, but editing php.ini to globally increase max upload size could be a really bad idea on a server where you have several websites operating. MySQL imports to PHPMyAdmin are often large, but you don't want every Tom, Dick and Mary uploading 64MB files to another site on your server because you need to do it every now and again for your MySQL database.

I'd suggest a better solution is therefore (assuming you are using the standard Apache PHP module) to edit the specific virtual host configuration for PHPMyAdmin.

On Ubuntu Linux, this is found in /etc/apache2/conf-enabled/ phpmyadmin.conf. On WAMP/Windows/Whatever you'll need to look at the setup for your Apache configuration, but it will probably be in conf-enabled, conf.d, sites-enabled, or something like that. These are actually often just symlinks to the actual file which is located somewhere like /etc/phpmyadmin/apache.conf (again using Ubuntu as the example here).

Your apache.conf file will include lines something like this:

Alias /phpmyadmin /usr/share/phpmyadmin

<Directory /usr/share/phpmyadmin>
    Options SymLinksIfOwnerMatch
    DirectoryIndex index.php

    # limit libapache2-mod-php to files and directories necessary by pma
    <IfModule mod_php7.c> 
        php_admin_value upload_tmp_dir /var/lib/phpmyadmin/tmp
        php_admin_value open_basedir /usr/share/phpmyadmin/:/etc/phpmyadmin/:/var/lib/phpmyadmin/:/usr/share/php/php-gettext/:/usr/share/php/php-php-gettext/:/usr/share/javascript/:/usr/share/php/tcpdf/:/usr/share/doc/phpmyadmin/:/usr/share/php/phpseclib/:/usr/share/php/PhpMyAdmin/:/usr/share/php/Symfony/:/usr/share/php/Twig/:/usr/share/php/Twig-Extensions/:/usr/share/php/ReCaptcha/:/usr/share/php/Psr/Container/:/usr/share/php/Psr/Cache/:/usr/share/php/Psr/Log/:/usr/share/php/Psr/SimpleCache/
    </IfModule>

</Directory>

Immediately after <IfModule mod_php7.c> add these lines:

    php_value post_max_size 64M
    php_value upload_max_filesize 64M

Depending on your server config, you can probably achieve the same thing in an .htaccess file if you prefer. In which case you could just add the two lines by themselves (assuming you know for certain that PHP is enabled).

If you use fpm or fastcgi or something with or without Apache, the same more localized approach to controlling upload sizes can be achieved by using .user.ini files.


The first things to check (or ask your host provider to check) are the values of max_execution_time, upload_max_filesize, memory_limit and post_max_size in the php.ini configuration file. All of these three settings limit the maximum size of data that can be submitted and handled by PHP.

Please note that post_max_size needs to be larger than upload_max_filesize.


Increase phpMyAdmin upload / import size

By default you get a 2mb limit of upload / import size in phpmyadmin. That makes it odd and highly impossible to import larger files. You can increase the allowed upload size of phpmyadmin by editing your server’s php.ini configuration file. Usually in servers like CentOs it is located at /etc/php.ini.

Step 1: Go to php.ini and find the following and change their values to something more higher than your database size. (In this example i have used 20mb).

upload_max_filesize = 20M

post_max_size = 20M

Step2 : Restart your apache service for this new change to take effect. Usually the command to restart apache would be

service httpd restart (CentOs) / service apache2 restart (ubuntu)

You can also restart directly from their path like

/etc/init.d/apache2 restart or /etc/init.d/httpd restart

If you are in a shared hosting and do not have root access or access to your php.ini configuration file, then the other way is to create a .htaccess file in your application root and add the following line

php_value upload_max_filesize 10M
php_value post_max_size 10M

If you were still not able to increase it, please send me an email for more detailed assistance.


This is how i did it:

  1. Locate in the /etc/php5/apache2/php.ini

    post_max_size = 8M
    upload_max_filesize = 2M
    
  2. Edit it as

    post_max_size = 48M
    upload_max_filesize = 42M
    

(Which is more then enough)

Restarted the apache:

sudo /etc/init.d/apache2 restart

Examples related to php

I am receiving warning in Facebook Application using PHP SDK Pass PDO prepared statement to variables Parse error: syntax error, unexpected [ Preg_match backtrack error Removing "http://" from a string How do I hide the PHP explode delimiter from submitted form results? Problems with installation of Google App Engine SDK for php in OS X Laravel 4 with Sentry 2 add user to a group on Registration php & mysql query not echoing in html with tags? How do I show a message in the foreach loop?

Examples related to mysql

Implement specialization in ER diagram How to post query parameters with Axios? PHP with MySQL 8.0+ error: The server requested authentication method unknown to the client Loading class `com.mysql.jdbc.Driver'. This is deprecated. The new driver class is `com.mysql.cj.jdbc.Driver' phpMyAdmin - Error > Incorrect format parameter? Authentication plugin 'caching_sha2_password' is not supported How to resolve Unable to load authentication plugin 'caching_sha2_password' issue Connection Java-MySql : Public Key Retrieval is not allowed How to grant all privileges to root user in MySQL 8.0 MySQL 8.0 - Client does not support authentication protocol requested by server; consider upgrading MySQL client

Examples related to phpmyadmin

phpMyAdmin on MySQL 8.0 phpmyadmin - count(): Parameter must be an array or an object that implements Countable Error loading MySQLdb Module 'Did you install mysqlclient or MySQL-python?' phpMyAdmin ERROR: mysqli_real_connect(): (HY000/1045): Access denied for user 'pma'@'localhost' (using password: NO) phpMyAdmin access denied for user 'root'@'localhost' (using password: NO) mysqli_real_connect(): (HY000/2002): No such file or directory How to create a foreign key in phpmyadmin #1292 - Incorrect date value: '0000-00-00' MySQL error - #1932 - Table 'phpmyadmin.pma user config' doesn't exist in engine phpMyAdmin Error: The mbstring extension is missing. Please check your PHP configuration