CuongDC
CuongDC

Reputation: 674

php 7 php.ini upload_max_filesize not working

I have read many solutions on internet , but still cannot change upload_max_filesize value (upload_max_filesize always = 2M )

here is my loaded php.ini in phpinfo() :

Configuration File (php.ini) Path         /etc/php/7.0/apache2
Loaded Configuration File                    /etc/php/7.0/apache2/php.ini
Scan this dir for additional .ini files      /etc/php/7.0/apache2/conf.d 
upload_max_filesize 2M  2M
post_max_size   8M  8M

here is my edited php.ini in /etc/php/7.0/apache2/php.ini

; http://php.net/post-max-size
post_max_size = 86M
; http://php.net/upload-max-filesize
upload_max_filesize = 40M

im using ubuntu 14.04,apache2,php7.0 (I have reset apache2 many time after each change in php.ini )

Upvotes: 33

Views: 87706

Answers (16)

Afjalur Rahman Rana
Afjalur Rahman Rana

Reputation: 813

For macos, check if you have a php-memory-limits.ini file under /opt/homebrew/etc/php/8.1/conf.d folder,

You need to update upload_max_filesize value in there too!

Upvotes: 0

RaviKant Sharma
RaviKant Sharma

Reputation: 5

open your putty or bitvise ssh client login your server

sudo apt update

After that

cd /etc/php/7.4/apache2/

see the list to hit command below

ls -ltr

output

total 76
drwxr-xr-x 2 root root  4096 Sep  4 14:31 conf.d
-rw-r--r-- 1 root root 72540 Sep  7 09:28 php.ini

to open php.ini enter the below command

 sudo nano php.ini

Move down Arow till not find the Below code

upload_max_filesize = 20M

change 20MB to your desired upload size Press ctrl+s to save php.ini and exit to the editor to command prompt hot ctrl+x after that to reload apache2 hit the below command

sudo systemctl reload apache2

Happy coding

Upvotes: 0

MSaudi
MSaudi

Reputation: 4652

In my case I was editing the wrong one. It turns out I should mondify this /etc/php/7.2/apache2/php.ini After doing so, it worked!

Upvotes: 1

nazmul islam
nazmul islam

Reputation: 11

create two different files in the root of your project(if you are a Wordpress user,it is the root public_html folder).one is php.ini & the second one is .user.ini and then simply add these two lines of codes in both files.

upload_max_filesize = 20M
post_max_size = 20M

don't forget to restart the server. and also make sure the user.ini file must be starting with a dot (.)

systemctl restart apache2

Upvotes: 1

Bubune
Bubune

Reputation: 61

I installed multiple versions of PHP on MacOS Big Sur following the steps here

I used command:

sudo /usr/local/bin/httpd -k restart

to load changes made to the php.ini file.

Upvotes: 0

Ali
Ali

Reputation: 81

I am using Nginx and my solution was to restart php-fpm.

Restarting Nginx didn't do anything.

sudo service php7.2-fpm restart

Upvotes: 7

Artur Cichosz
Artur Cichosz

Reputation: 1054

For those who have all the obvious settings mentioned in other answers and PHP file uploads are stil not working.

Check php.ini for open_basedir value. If a value is set (which it should be for security reasons), make sure that /tmp is included there. Or choose a custom value in upload_tmp_dir and set open_basedir accordingly.

Then reload the FPM service.

Upvotes: 0

Joel Jerushan
Joel Jerushan

Reputation: 655

For php7.2-fpm

Ubuntu php-fpm located at /etc/php/7.2/fpm so

  1. cd /etc/php/7.2/fpm
  2. sudo nano php.ini
  3. Search for post_max_size = 512M and add your fav size that you really needed
  4. Search for upload_max_filesize = 512M and add your fav size that you really needed
  5. Save File
  6. And Last DO NOT FORGET TO RESTART PHP7.2-FPM to restart sudo service php7.2-fpm restart

Thats all!

Upvotes: 10

Ali Ghalambaz
Ali Ghalambaz

Reputation: 420

i also had this problem!

if you are using php-fpm service need to find php-fpm.conf and add line

php_admin_value[upload_max_filesize] = 100M

for changing other type of values

#just for example
php_flag[display_errors] = off
php_admin_value[error_log] = /var/log/fpm-php.www.log
php_admin_flag[log_errors] = on

Upvotes: 4

dcima
dcima

Reputation: 39

After spending hours reading forum I've resolved this way:

cd /etc/php
find . -name "*.ini" | xargs grep -il upload_max_filesize
./7.1/apache2/php.ini
./7.1/mods-available/better.ini
./7.1/cgi/php.ini
./7.1/cli/php.ini
./7.1/phpdbg/php.ini
./7.1/fpm/conf.d/20-better.ini
./7.1/fpm/php.ini
./7.1/embed/php.ini

change upload_max_filesize in ./7.1/fpm/conf.d/20-better.ini then

/etc/init.d/php7.1-fpm restart

now phpinfo reports: upload_max_filesize 10G 10G

Hope this helps.

Upvotes: 4

unhack
unhack

Reputation: 1766

I also found that restarting the httpd service didn't pick up changes in the loaded configuration file (/etc/php.ini on Fedora 29). It's worth listing all systemd units and doing a grep for the string "php":

# systemctl list-unit-files | grep php
php-fpm.service

Restarting php-fpm did the trick for me:

# systemctl restart php-fpm

Upvotes: 6

Yeah, Actually I forgot to restart correctly.

sudo service apache2 restart is not enough

first add the configurations to /etc/php/7.1/fpm/php.ini and to /etc/php/7.1/cli/php.ini
#/php/ - then your php version here instead "7.1" ACtually one of these configuration file is the active one (if you want to see what use <?php phpinfo() ?> command in indextest.php file and check it on browser) Then change these parameters on each file with what you want:

post_max_size = 512M
upload_max_filesize = 512M

And then use following command to restart the php server:

sudo service php7.0-fpm restart #php<then your php version here> instead "7.0"

or

sudo /etc/init.d/php7.1-fpm restart  #php<then your php version here> instead "7.1"

Now you should be able to see the changes of upload size. Cheers !

as shown in here you can get to know more about the php server controlls :

$ sudo service php7.0-fpmstart # <- restart it
$ sudo service php7.0-fpm stop # <- restart it
$ sudo service php7.0-fpm restart # <- restart it
$ sudo service php7.0-fpm reload # <- reload it

Upvotes: 1

CuongDC
CuongDC

Reputation: 674

i fingured out !

in my loaded php.ini config , my error_reporting values is E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED-> this is wrong!, so i changed it to

error_reporting: E_ALL and then restart apache2 server, now everything working fine !


so please note : if php.ini have any error , it will use default value (which means upload_max_filesize always 2M )

Upvotes: 22

Serhat Soruklu
Serhat Soruklu

Reputation: 11

Most people are forgetting to restart their php via the terminal that's why it isn't working, if you think you've done everything correctly be sure to restart your php & the server.

Upvotes: 1

Saravanan C
Saravanan C

Reputation: 695

I had a fix for PHP-FPM 7.1

Edit your php.ini in

/etc/php/7.1/fpm/php.ini

Make changes to whatever option you want like, post_max_size, upload_max_filesize, max_execution_time & so...

save & close file.

run

sudo service php7.1-fpm restart

It will work!

Upvotes: 55

Info Loopgraaf
Info Loopgraaf

Reputation: 261

I had an other fix for it. os: ubuntu 16.04 phpversion: 7.0

I created a phpinfo.php file containing:

<?php phpinfo() ?>

place the phpinfo.php file in the root of your website www.mywebsite.com/phpinfo.php

Navigating to it and lookup the line:

Loaded Configuration File : /etc/php/7.0/cgi/php.ini

Now you know what php.ini file is loaded.

ssh into the server and use your favorite editing tool (mine is nano) to adjust the php.ini

change the values to meet your preferences.

post_max_size = 128M

upload_max_filesize = 64M

Save and close the file.

Restart apache

sudo service apache2 restart

__

check the phpinfo.ini if the new values are as set.

and if they do you are set to go.

Upvotes: 26

Related Questions