php 7 php.ini upload_max_filesize 不工作

php 7 php.ini upload_max_filesize not working

我在网上看了很多解决方案,但还是不能改变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

中编辑的 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 配置中,我的 error_reporting 值是 E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED-> 这是错误的!,所以我将其更改为

error_reporting: E_ALL 然后重启apache2服务器, 现在一切正常!


所以请注意:如果 php.ini 有任何错误,它将使用默认值(这意味着 upload_max_filesize 始终 2M

我有其他修复方法。 os: ubuntu 16.04 php版本:7.0

我创建了一个 phpinfo.php 文件,其中包含:

<?php phpinfo() ?>

将 phpinfo.php 文件放在您网站的根目录中 www.mywebsite.com/phpinfo.php

导航到它并查找行:

加载的配置文件:/etc/php/7.0/cgi/php.ini

现在你知道加载了什么 php.ini 文件了。

ssh 进入服务器并使用您喜欢的编辑工具(我的是 nano)来调整 php.ini

更改值以满足您的喜好。

post_max_size = 128M

upload_max_filesize = 64M

保存并关闭ose 文件。

重启apache

sudo service apache2 restart

__

检查 phpinfo.ini 新值是否与设置一致。

如果他们这样做了,您就可以出发了。

我修复了 PHP-FPM 7.1

中编辑您的 php.ini

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

根据需要更改任何选项,例如 post_max_size、upload_max_filesize、max_execution_time 等等...

保存并关闭文件。

运行

sudo 服务php7.1-fpm 重启

会成功的!

大多数人都忘记通过终端重新启动他们的 php 这就是它无法正常工作的原因,如果您认为您已正确完成所有操作,请务必重新启动 php 和服务器.

是啊,其实我忘记正确重启了

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"

现在您应该可以看到上传大小的变化了。干杯!

here 所示,您可以进一步了解 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

我还发现重新启动 httpd 服务并没有在加载的配置文件中获取更改(/etc/php.ini 在 Fedora 29 上)。值得列出所有 systemd 单元并对字符串 "php":

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

重新启动 php-fpm 对我有用:

# systemctl restart php-fpm

我正在使用 Nginx,我的解决方案是重启 php-fpm。

重启 Nginx 没有任何反应。

sudo service php7.2-fpm restart

在花了几个小时阅读论坛后,我解决了这个问题:

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

./7.1/fpm/conf.d/20-better.ini 中更改 upload_max_filesize 然后

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

现在 phpinfo 报告:upload_max_filesize 10G 10G

希望对您有所帮助。

我也遇到了这个问题!

如果您正在使用 php-fpm 服务需要找到 php-fpm.conf 并添加行

php_admin_value[upload_max_filesize] = 100M

用于更改其他类型的值

#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

对于php7.2-fpm

Ubuntu php-fpm 位于 /etc/php/7.2/fpm 所以

  1. cd /etc/php/7.2/fpm
  2. sudo nano php.ini
  3. 搜索 post_max_size = 512M 并添加您真正需要的收藏尺寸
  4. 搜索 upload_max_filesize = 512M 并添加您 真正需要的收藏尺寸
  5. 保存文件
  6. 最后不要忘记重启PHP7.2-FPM 重启sudo service php7.2-fpm restart

就这些!

对于那些拥有其他答案中提到的所有明显设置并且 PHP 文件上传仍然不起作用的人。

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

然后重新加载FPM服务。

我按照 here

的步骤在 MacOS Big Sur 上安装了多个版本的 PHP

我使用了命令:

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

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

在将 SQL 文件导入 Mysql 数据库时对我没有任何作用,我使用 Mysql 命令行

sudo mysql -u {username} -p

我的情况是 sudo mysql -u root -p

然后输入您的password

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

在项目的根目录中创建两个不同的文件(如果您是 Wordpress 用户,则为根 public_html 文件夹)。一个是 php.ini & 第二个是 .user.ini 然后只需在两个文件中添加这两行代码即可。

upload_max_filesize = 20M
post_max_size = 20M

别忘了重启服务器。 并确保 user.ini 文件必须以点开头 (.)

systemctl restart apache2

就我而言,我编辑错了。原来我应该修改这个 /etc/php/7.2/apache2/php.ini 这样做之后,它成功了!