2

我遇到了这个人说的同样的问题:PHP 仍然不允许上传大于 2 MB 的文件,尽管他显然解决了这个问题。

但是,我找不到解决方案。我已将 php.ini 文件编辑为以下值:

upload_max_filesize = 20M post_max_size = 20M

我什至尝试将它们提高到 200M,但根据phpinfo().

以下是每个 php.ini 的一些变量(名称、本地值、主值):

file_uploads On On

max_file_uploads 20 20

upload_max_filesize 2M 2M

我已经重新启动了一切。无论如何,当我检查 php.ini 的 upload_max_filesize 时的原始值是 10M。它将上传较小的文件,仅超过 2MB。

4

8 回答 8

3
  • Assicure 你已经保存了你的 php.ini。
  • 如果您使用它,请重新启动您的网络服务器,例如 Apache2 的服务
  • 再次使用 phpinfo() 打印一个页面,并确保该值已更改,如果您没有编辑错误的文件。
  • 确保 html 具有属性 MAX_FILE_SIZE

另一种方法是在 PHP 中更改此设置,例如:

ini_set('post_max_size', '20M');
ini_set('upload_max_filesize', '20M');
于 2013-07-07T20:00:06.563 回答
2

.htaccess 文件或 PHP 应用程序中的文件大小限制可能会通过 ini_set() 调用被覆盖。

我还会提醒您,当您更改 php.ini 中的这些值时,您可能需要重新启动 Apache。

如果这不是您的虚拟主机允许您做的事情,您可以随时在脚本中自己使用 ini_set() 调用。例如,将其放在脚本顶部附近:

ini_set('post_max_size', '64M');
ini_set('upload_max_filesize', '64M');
于 2013-07-07T20:00:09.957 回答
2

我以前遇到过这个问题。如果您正在运行某些版本的 Web 服务器,例如运行php-fpmwith nginx,您的php.ini文件将不在您期望的位置。例如,我相信php-fpm不遵循 normal php.ini,而是 awww.conf位于它的conf.d目录中。

无论如何,请检查并确保您的配置没有被单独的php.ini或其他配置文件覆盖。如果您无法以这种方式修复它,那么您可能会按照 Richard 和 Alessandro 的建议走运。

于 2013-07-07T20:07:45.503 回答
2

我遇到了类似的问题。设置post_max_size3M

我在php.ini文件/wamp/apache/bin夹中的文件中修复了它。

我希望它有帮助。

于 2015-01-25T09:40:35.020 回答
1

始终确保更新其值的是正确的 php.ini 文件。我花了 2 周时间重新配置 IIS7 才意识到有 2 个 php.ini 文件在 C:\Program Files (x86)\PHP\v5.4 中,另一个在 C:\php 中......但是一个有效的是: C:\Program Files (x86)\PHP\v5.4

确保您位于 php.ini 文件的正确路径上

  • 创建一个 phpinfo.php 文件(下面的文件结构)

    phpinfo();

  • 在浏览器中调用文件,如:http://servername/websitename/phpinfo.php

  • 检查下图中显示的行,以验证您确实在编辑正确的 php.ini 文件。

  • 项目清单

希望这会有所帮助,因为它对我有所帮助。PS。不要忘记进行上述更改以增加上传大小限制

于 2014-09-03T14:49:29.993 回答
1

我也有同样的问题,我也在ini.php文件中做了同样的改变

upload_max_filesize = 200M post_max_size = 200M

但这并不能解决我的问题。所以,我去了任务栏中的 wamp 服务器(我们可以看到绿色的“W”标志)并左键单击它

PHP > PHP SETTINGS > upload_max_filesize = 256M(因为我在 ini.php 中所做的更改实际上并没有进行)。

然后它起作用了。

于 2017-04-23T20:42:23.983 回答
0

Flogvit 几乎回答了我的问题。WAMP 使用的 php.ini 文件与 WAMP PHP 设置选项中列出的文件不同。我查看了 wamp 配置文件,它只是“php.ini”。我将它更改为我想使用的 php.ini 文件的完整路径(在 IIS 文件夹中有另一个),我重新启动它并没有任何反应。但是,重新启动计算机后,它现在可以工作了。由于某种原因ini_set()不起作用,但是解决方案是这样的:

1) 打开 wampmanager.conf

2) 将“phpConfFile =”从 php.ini 更改为您要使用的 php.ini 文件的完整路径,并将其放在双引号中。

3) 重新启动 WAMP 所在的计算机。

再次感谢您的帮助。这是一个非常奇怪的问题,我不知道为什么我不能重新启动 WAMP(它运行所有服务器,包括 Apache 服务器)。我猜想在 WAMP 之外运行的东西是由 WAMP 运行的,这对我来说有点神秘。

于 2013-07-07T20:38:16.010 回答
0

那是因为您正在编辑错误的配置文件。检查您的配置文件从哪里加载并编辑该文件。您可能正在编辑位于 /etc/php/[version]/cli/php.ini 的那个。

就我而言,我加载的配置文件位于 /etc/php/7.3/apache2/php.ini

phpinfo

于 2021-11-24T16:22:26.440 回答