I need to upload file more than 100 MB, yii\web\UploadedFile. I am using Linux, CentOS 7.
I did:
check path to php.ini in phpinfo()
add in php_value upload_max_filesize 512M php_value post_max_size 512M in php.ini
restart the LAMP server (lampp) and run phpnfo() to check, but nothing changed. Although php.ini changed.
restart my PC and start the LAMP server, but still no changes in phpnfo().
I have found some solution to add additional.ini.files, but in my phpinfo():
Scan this directory for additional .ini files (none).
I solve this by adding this in file .htaccess:
php_value upload_max_filesize 512M
php_value post_max_size 512M
But the problem still exists. I can't influence file php.ini.
The syntax php_value ... only works in .htaccess files.
To change the value in the php.ini file, you dont' need the php_value part. Search the file for the upload_max_filesize attribute, it's most likely already there and change the value to 512M.
If the line starts with a ; remove it as this comments the line. Do the same for the post_max_size attribute.
If these attributes does not exists yet, add them to the end of the file:
upload_max_filesize = 512M
post_max_size = 512M
After editing the file you need to restart PHP and Apache.
Before you mark this as duplicate, hear me out. I've tried all the suggestions I can find online. None works. I've restarted countless times. Detailed list of what I've tried below.
Here's my setup:
Nginx 1.10
PHP 7.0
WordPress 4.7
I'm on a VPS. I have access and control over EVERY single file!
Here's what I want to do:
Increase the upload file size for my WordPress.
Why?
Anytime I upload a file size bigger than 2 megabytes, I get this error: The uploaded file exceeds the upload_max_filesize directive in php.ini. That's all it tells me.
Here's what I have done:
a. So out of common sense, I go into /etc/php/7.0/cli/php.ini because php.ini -i tells me the loaded configuration is from that file. In the php.ini file, I change the upload_max_filesize = 2M to upload_max_filesize = 10M
b. I go ahead to restart, both Nginx (sudo service nginx restart), and PHP (sudo service php7.0-fpm restart)
Above Doesn't work as 2 other approaches below: I still get:
The uploaded file exceeds the upload_max_filesize directive in php.ini.
I create my own user.ini under /etc/php/7.0/cli/conf.d/ folder with contents, upload_max_filesize = 10M
I go ahead to do 1. b. Still same error
They say something is called error_reporting. I go ahead to locate the error reporting in my php.ini file. I change from the first line below to the second:
;error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT
error_reporting = E_ALL
I do 1. b., Still doesn't work.
So what the #&)#(* is wrong with my setup and what again do I have to change somewhere else?
Is it even changeable? I've read and tried almost every single suggestion online, and it never works.
It has never been an issue for me, the 2 max upload, but I'm importing a wordpress xml file, which is just 3 Mb, and I've spent a couple of hours already trying to get this thing to work.
By default, can't the upload size be a bit higher. 2 Megabyte is even ridiculous for a site in recent years. At least 5 is much better.
Any help is appreciated!
You're looking at the php.ini file for the CLI, you need to look at the PHP ini file for the web server you're running. Within the WP directory, create a temporary php file, and have it contain <?php phpinfo(); navigate to that file in the browser and find the php.ini file you actually need to change, then make the change as required.
NOTE: Remove this file once you're done with your checks, having this information visible to the public is a security risk
Case 1 : Add php.ini in wp-admin folder
Navigate to wp-admin folder. Scroll down to see if you have a php.ini file in there.If you didn’t add one at some point.
upload_max_filesize = 64M
post_max_size = 64M
max_execution_time = 300
Case 2 : Add code to .htaccess
Open or create the .htaccess file in the root folder and add the following code:
php_value upload_max_filesize 64M
php_value post_max_size 64M
php_value max_execution_time 300
php_value max_input_time 300
Initially, I tried JezEmery 's answer, but for me the solution came when typed on terminal
locate php.ini
and I took among else as printout
/usr/lib/php/7.0/php.ini-development
/usr/lib/php/7.0/php.ini-production
/usr/lib/php/7.0/php.ini-production.cli
/usr/lib/php/7.1/php.ini-development
/usr/lib/php/7.1/php.ini-production
/usr/lib/php/7.1/php.ini-production.cli
then change the php7.1 files, as my apache used version 7.1 of php, and last, I restarted apache via
systemctl restart apache2
Simply Add these lines of codes in
C:/xampp/php.ini
upload_max_filesize = 64M
post_max_size = 64M
max_execution_time = 300
After restart the xampp control and check the panel it'll increase the file size
If you're using php-fpm but not Apache, sometimes after doing all the above, you need to restart the php7.4-fpm service. It may be named differently depending on your PHP version.
sudo systemctl restart php7.4-fpm
Add below code into theme's function.php file
#ini_set( 'upload_max_size' , '64M' );
#ini_set( 'post_max_size', '64M');
#ini_set( 'max_execution_time', '300' );
OR
Create php.ini into root folder with below lines:
upload_max_filesize = 64M
post_max_size = 64M
max_execution_time = 300
Add code into .htaccess file:
php_value upload_max_filesize 64M
php_value post_max_size 64M
php_value max_execution_time 300
php_value max_input_time 300
What does php -i | grep 'upload_max_filesize' give you? The 10M you set or a different value. If it's giving you the latter then you're editing the wrong php.ini file. You can use php --ini to figure which config file is loaded
In cwp (control web panel) if you use php-fpm, you have to modify php.ini in this directory: /opt/alt. Or you can do it from control panel: Dashboard>PHP Settings>PHP-FPM Selector> PHP-FPM x.x >Edit php.ini an after change upload_max_filesize , reload PHP using related (yellow) button in the left.
source
I try to upload file of 300 MB. but not uploaded and now display any error.
variables value in php.ini file is
post_max_size 800M
upload_max_filesize 750M
memory_limit 2048M
max_execution_time 17100
max_input_time 17100
if i try to print tmp name of file by echo $_FILES['data-file']['tmp_name']; die; Nothing display page redirecto to home. but for less then 128M it show /tmp/phpShle like that.
If you are on LAMP make sure you are editing right php.ini file. In LAMP you will find cli related php.ini and php-apache related php.ini. To make above scenarios of file upload possible, you will need to edit php-apache php.ini file which is in /etc/php5/apache2/ and also restart apache service.
If you are on WAMP, it has only one php.ini and WAMP is automatically restarting services after editing file. So it should work.
-Or-
You can write a .htaccess file in web home directory.
RewriteEngine on
php_value post_max_size 300M
php_value upload_max_filesize 300M
Please write this on .htaccess.
<IfModule mod_php5.c>
php_value post_max_size 256M
php_value upload_max_filesize 256M
php_value memory_limit 500M
</IfModule>
This might help you. Cheers :)
My proble is solved. I need to set these variable on modsec2.user.conf file
SecRequestBodyLimit 1073741824
SecRequestBodyNoFilesLimit 1073741824
This is a apache server file. and error was shown on Apache error log.
Does anyone know if or how you can increase the import size limit in phpMyAdmin? Currently my server is limited to 50MB.
Please note that this is not the same as the upload_max_filesize in php.ini. That value is set to 2MB.
I need to import a table into one of my DBs and the phpMyAdmin restriction of 50MB on the import is preventing me from doing that.
Thanks.
Amended -- attached are 2 screen shots:
Screen Shot #1 -- phpinfo() showing the php.ini settings.
Screen Shot #2 -- showing the phpMyAdmin import restriction
If you are using WHM/Cpanel then in order to change that "Max: 50MiB" limit in the import section of phpmyadmin, you will have to change two values in WHM (Web Host Manager).
Step 1) Go to Tweak settings, find the "cPanel PHP Max upload size" change it according to your needs. Save changes.
Step 2) Go to Tweak settings, find the "cPanel PHP Max POST size" change it according to your needs. Save changes.
Go back to your phpMyadmin. The value should have changed.
I had the same problem with my working correctly by doing the following
changes into the php.ini file
post_max_size = 800M
upload_max_filesize = 800M
max_execution_time = 5000
max_input_time = 5000
memory_limit = 1000M
now restart for the changes to take effect
Could you also increase post_max_size and see if it helps?
Uploading a file through an HTML form makes the upload treated like any other form element content, that's why increasing post_max_size should be required too.
Update : the final solution involved the command-line:
To export only 1 table you would do
mysqldump -u user_name -p your_password your_database_name your_table_name > dump_file.sql
and to import :
mysql -u your_user -p your_database < dump_file.sql
'drop table your_tabe_name;' can also be added at the top of the import script if it's not already there, to ensure the table gets deleted before the script creates and fill it
Change these values in php.ini
post_max_size = 750M
upload_max_filesize = 750M
max_execution_time = 5000
max_input_time = 5000
memory_limit = 1000M
Then restart Wamp for the changes to take effect. It will take some time. If you get following error:
Script timeout passed if you want to finish import please resubmit same zip file and import will resume.
Then update the phpMyAdmin configuration, at phpMyAdmin\libraries\config.default.php
/**
* maximum execution time in seconds (0 for no limit)
*
* #global integer $cfg['ExecTimeLimit']
*/
$cfg['ExecTimeLimit'] = 0;
I had the same problem. My .sql file was 830 MB and the phpMyAdmin import size allowed was 50MB (just as shown in the screenshot). When I zipped the file to .zip its size became about 80 MB. Then I zipped it to bzip2 format, and I was amazed to see that the file size was compressed to just 12MB (from 830MB to 12MB!!!). As phpMyAdmin allows three compression types i.e. .zip , .gzip and .bzip2 , therefore I uploaded the compressed bzip2 file and viola.... it was imported to the database!!! So by using the right compression, I was able to import a 830MB .sql file into phpMyAdmin.
NOTE: phpMyAdmin import page clearly instructs that the compressed filename should be like filename.sql.bz2 . It should not be like filename.bz2 .
NOTE 2: You can compress your .sql file to bzip2 compressed file using 7-Zip software. cPanel also has an option to compress a file to bzip2 format.
First you have to change values in php.ini file as per your requirements.
post_max_size = 1024M
upload_max_filesize = 1024M
max_execution_time = 3600
max_input_time = 3600
memory_limit = 1024M
Note - Change these values carefully. These values will impact for all of your projects of that server.
Now, If above solutions are not working, kindly check your phpmyadmin.conf file.
If you are using WAMP so you can find the file in "C:\wamp64\alias".
You have to change below values.
Values already in file are -
php_admin_value upload_max_filesize 128M
php_admin_value post_max_size 128M
php_admin_value max_execution_time 360
php_admin_value max_input_time 360
Change above code to -
# php_admin_value upload_max_filesize 128M
# php_admin_value post_max_size 128M
# php_admin_value max_execution_time 360
# php_admin_value max_input_time 360
Now just restart your server, to work with changed values. :)
this is due to file size import limit in phpmyadmin, default is very low, so you should increase upload_max_filesize
you can change this in your php.ini, replaced with this
upload_max_filesize = 100M
You can increase the limit from php.ini file. If you are using windows, you will the get php.ini file from C:\xampp\php directory.
Now changes the following lines & set your limit
post_max_size = 128M
upload_max_filesize = 128M
max_execution_time = 2000
max_input_time = 3000
memory_limit = 256M
If you have direct root SSH access to the machine you will be able to change the settings in:
/usr/local/cpanel/3rdparty/etc/phpmyadmin/php.ini
Just change the line:
upload_max_filesize = 50M
if you're using xampp, find the php.ini (in xampp folder itself), go to line 735 and change the post_max_size to the value you wish.
ex: if you want to upgrade to 80MiB,
post_max_size = 80M
make sure to restart apache after changing the value.
That's it...
Change the file phpmyadmin.conf on c:/wamp64/alias/phpmyadmin.conf
php_admin_value upload_max_filesize 512M
php_admin_value post_max_size 512M
php_admin_value max_execution_time 360
php_admin_value max_input_time 360
It's very important you increase the time to 5000 or higher, Thus, the process will not stop when you are uploading a large file.
That works for me.
go to your cpanel and search "ini editor". You'll get "Multiphp INI Editor"
There you select your wordpress directory and put
upload_max_filesize = 256M
post_max_size = 256M
memory_limit = 256M
Be sure you are editing php.ini not php-development.ini or php-production.ini, php.ini file type is Configuration setting and when you edit it in editor it show .ini extension. You can find php.ini here: xampp/php/php
Then
upload_max_filesize = 128M
post_max_size = 128M
max_execution_time = 900
max_input_time = 50000000
memory_limit = 256M
1:nano /etc/php5/apache2/php.ini
you can find your php.ini location by uploading a file called phpinfo.php with the following contents<?php phpinfo();?> and access it by visiting yourdomain.com/phpinfo.php ,you will see the results
2:change the desired value to upload_max_filesize and post_max_size
such as :
upload_max_filesize = 200M
post_max_size = 300M
then it will become 200M.
3:restart your apache
IF YOU ARE USING NGINX :
cd /etc/php/<PHP_VERSION>/fpm example => cd /etc/php/7.2/fpm
nano php.ini
post_max_size = 1024M
upload_max_filesize = 1024M
max_execution_time = 3600
max_input_time = 3600
memory_limit = 1024M
after saving php.ini file , restart fpm using :
systemctl restart php<PHP_VERSION>-fpm
example => systemctl restart php7.2-fpm
I increased the max file size by going to CPanel > Select PHP version > Switch to PHP Extensions and then scroll to the upload_max_filesize field (it will have a clickable link for the size - mine was set at 2MB) and I increased it to 256MB. Then click "Save".
You Can Search php.ini file in C:\xampp\htdocs
changes into the php.ini file
post_max_size = 805M
upload_max_filesize = 805M
max_execution_time = 5005
max_input_time = 5005
memory_limit = 1005M
After editing Please restart XAMPP
On newer version of cpanel: search ini
size' and edit it...then save[enter
Sharky's answer was spot on. The phpMyAdmin upload file size displayed is NOT managed by the php.ini settings, which you can see when you run a phpinfo.php containing:
<?php
// Show all information, defaults to INFO_ALL
phpinfo();
?>
It is good practice to increase your php.ini settings for:
post_max_size
upload_max_filesize
max_execution_time
max_input_time
memory_limit
You may use the settings example that Sujiraj R shared. Once you have made all of the changes to both your php.ini AND in the"Tweak Settings" area of WHM, when you launch phpMyAdmin and go to the import screen, you will see the size you selected for "cPanel PHP max upload size" field.
There were a lot of good answers on this post, but you had to look back and forth to get the right answer. I hope that by encapsulating those previous answers in this post I have helped just a bit. All of the answers I refer to on this post were derived by others that posted here, so please do not credit me with any of the answers posted herein.
If you don't want to change the upload size limit, or for some reason can not change the upload size limit, compressing the database to a zip or tar.bz2 will really reduce the size of your database. In my case it went from 60MB which was >10MB over the limit, and compressed to a zip it was only 18MB!
Scenario: Installed an adult tubescript for a pornsite. Keeps having problems with file upload over 8MB
I figured it has something to do with php.ini, so I checked and changed it to
post_max_size = 200M
upload_max_size = 200M
On .htaccess of the script, there is these two lines:
php_value upload_max_filesize 1000M
php_value post_max_size 1000M
but when I check using phpinfo(), post_max_size is still 8M and I still can't upload anything over 8MB. I've been working on this for 3 days now and I really can't figure it out.
What could possibly be causing this?
Dedicated Server: FreeBSD 8.2, Nginx 1.0.6, PHP 5.2
I've learned that Nginx needs a php feeder/loader: fastcgi
In my case it's spawn-fcgi
here's how I fixed it
/usr/local/etc/rc.d/spawn-fcgi restart
/usr/local/etc/rc.d/nginx restart
Thanks for the replies.
Credits to DarkZenith for the pointers.