PHP 7中的php.ini文件中的upload_max_filesize无法正常工作

33

我在互联网上阅读了许多解决方案,但仍然无法更改upload_max_filesize值(upload_max_filesize始终等于2M)。

以下是我在phpinfo()中加载的php.ini

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

这是我编辑过的 /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

我正在使用Ubuntu 14.04,Apache2,PHP7.0(每次更改php.ini后都已重置Apache2多次)。


你需要检查php.ini的路径,似乎你正在其他地方进行更改。 你可以在phpinfo中看到ini路径,只需检查“配置文件(php.ini)路径”行即可。 - Afshan Shujat
1
重新启动服务器并检查更改。 - Afshan Shujat
我已经多次重启了Apache2,但它仍然是一样的... - CuongDC
1
php -i | grep -i "upload\_max\_filesize\|post\_max\_size\|max\_file\_uploads" 是一个有用的命令,可以帮助您捕捉到更新的任何 "ini" 文件可能尚未重新加载或根本不是正在使用的正确文件。 - Ryan
请参见 https://dev59.com/glYM5IYBdhLWcg3wnBJY#Mw0moYgBc1ULPQZFAY-2。 - Ryan
显示剩余2条评论
16个回答

1
在您的项目根目录下(如果您是Wordpress用户,则为根public_html文件夹)创建两个不同的文件。一个是php.ini,另一个是.user.ini,然后在这两个文件中分别添加以下两行代码即可。
upload_max_filesize = 20M
post_max_size = 20M

不要忘记重新启动服务器。 同时确保user.ini文件以点号.开头。

systemctl restart apache2

1

是的,实际上我忘记了正确地重新启动。

sudo service apache2 restart 不够用。

首先将配置添加到 /etc/php/7.1/fpm/php.ini/etc/php/7.1/cli/php.ini
#/php/ - 然后将您的php版本号代替 "7.1" 实际上其中一个配置文件是活动文件 (如果要查看,请在 indextest.php 文件中使用 <?php phpinfo() ?> 命令并在浏览器中检查)。 然后在每个文件中使用所需参数更改这些设置:

post_max_size = 512M
upload_max_filesize = 512M

然后使用以下命令重新启动PHP服务器:

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

或者

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

现在,您应该能够看到上传大小的更改。干杯!
此处所示,您可以了解有关PHP服务器控件的更多信息:
$ 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

1
sudo /etc/init.d/php7.1-fpm restart 解决了我的问题。 - db306

0

对于那些已经检查了其他答案中提到的所有明显设置,但PHP文件上传仍然无法正常工作的人。

检查php.ini文件中的open_basedir值。如果设置了一个值(出于安全原因应该这样做),请确保在其中包含/tmp。或者选择一个自定义值在upload_tmp_dir中,并相应地设置open_basedir

然后重新加载FPM服务。


0

对于macOS系统,请检查/opt/homebrew/etc/php/8.1/conf.d文件夹下是否有php-memory-limits.ini文件,

您还需要在其中更新upload_max_filesize的值!


0

打开你的Putty或Bitvise SSH客户端,登录你的服务器。

sudo apt update

此后

cd /etc/php/7.4/apache2/

请查看下面的命令列表

ls -ltr

输出

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

打开php.ini,请输入以下命令

 sudo nano php.ini

向下滚动直到找不到以下代码

upload_max_filesize = 20M

将20MB更改为您所需的上传大小,按ctrl+s保存php.ini并退出编辑器,进入命令提示符热键ctrl+x,然后重新加载apache2,输入以下命令即可

sudo systemctl reload apache2

编程愉快


0

我在MacOS Big Sur上按照这里的步骤安装了多个版本的PHP。

我使用了以下命令:

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

加载对php.ini文件所做的更改。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接