简体   繁体   中英

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 )

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!

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.

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 )

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!

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

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

Restarting Nginx didn't do anything.

sudo service php7.2-fpm restart

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

大多数人都忘记通过终端重新启动他们的 php,这就是它不起作用的原因,如果您认为自己已经正确完成了所有操作,请务必重新启动您的 php 和服务器。

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

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.

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.

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.

Nothing worked for me while importing SQL file to Mysql DB, I solved it by using Mysql command lines

sudo mysql -u {username} -p

my case was sudo mysql -u root -p

then enter your password

>use mysql;
mysql> use db_name;
mysql> source /dir_to/file_name.sql;

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

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!

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM