【问题标题】:PHP The uploaded file exceeds the upload_max_filesize directive in php.iniPHP 上传的文件超过了 php.ini 中的 upload_max_filesize 指令
【发布时间】:2025-12-10 03:20:06
【问题描述】:

在将此标记为重复之前,请听我说完。我已经尝试了所有可以在网上找到的建议。没有工作。我已经无数次重启了。我在下面尝试过的详细列表。

这是我的设置:

  • Nginx 1.10
  • PHP 7.0
  • WordPress 4.7
  • 我在 VPS 上。我可以访问和控制每个文件!

这是我想做的:

  • 增加我的 WordPress 的上传文件大小。

为什么?

  • 每当我上传大于 2 兆字节的文件时,我都会收到以下错误:The uploaded file exceeds the upload_max_filesize directive in php.ini. 这就是它告诉我的全部内容。

这是我所做的:

  1. 一个。所以出于常识,我进入/etc/php/7.0/cli/php.ini 因为php.ini -i 告诉我加载的配置来自该文件。在php.ini 文件中,我将upload_max_filesize = 2M 更改为upload_max_filesize = 10M

    b.我继续重启,Nginx (sudo service nginx restart) 和 PHP (sudo service php7.0-fpm restart)

以上不适用于以下 2 种其他方法:我仍然得到:

The uploaded file exceeds the upload_max_filesize directive in php.ini.

  1. 我在/etc/php/7.0/cli/conf.d/ 文件夹下创建了我自己的user.ini,内容为upload_max_filesize = 10M

我继续做 1。还是一样的错误

  1. 他们说有个东西叫做error_reporting。我继续在我的php.ini 文件中找到错误报告。我从下面的第一行更改为第二行: ;error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT error_reporting = E_ALL

我做了 1.b.,还是不行。

那么 #&)#(* 我的设置有什么问题,我还需要在其他地方更改什么?

它甚至可以改变吗?我已经阅读并尝试了几乎所有在线建议,但始终没有奏效。

这对我来说从来都不是问题,最多 2 次上传,但我正在导入一个只有 3 Mb 的 wordpress xml 文件,我已经花了几个小时试图让这个东西工作.

默认情况下,上传大小不能再大一点。 2兆字节对于近年来的一个网站来说甚至是荒谬的。至少 5 个更好。

感谢任何帮助!

【问题讨论】:

  • 确保您正在编辑正确的 ini 文件。检查 phoinfo() 进行验证。
  • @RobertRocha 在终端中phpinfo()php -i 有何不同?
  • @RobertRocha 是的,它们是不同的。我愚蠢地认为他们是一样的。

标签: php wordpress nginx php-7


【解决方案1】:

案例一:在 wp-admin 文件夹中添加 php.ini

导航到 wp-admin 文件夹。向下滚动查看您是否有一个 php.ini 文件。如果您没有添加一个。

upload_max_filesize = 64M
post_max_size = 64M
max_execution_time = 300

案例 2:将代码添加到 .htaccess

在根文件夹中打开或创建.htaccess文件并添加以下代码:

php_value upload_max_filesize 64M
php_value post_max_size 64M
php_value max_execution_time 300
php_value max_input_time 300

【讨论】:

    【解决方案2】:

    您正在查看 CLI 的 php.ini 文件,您需要查看正在运行的 Web 服务器的 PHP ini 文件。在 WP 目录中,创建一个临时 php 文件,并让它包含 <?php phpinfo(); 在浏览器中导航到该文件并找到您实际需要更改的 php.ini 文件,然后根据需要进行更改。

    注意:完成检查后删除此文件,让公众看到此信息存在安全风险

    【讨论】:

    • 你只是指出了一些我从来不知道的事情,即运行的 WordPress php.ini 与php.ini 中的实际 php.ini 不同。非常感谢你
    • 不用担心,不同的 .ini 文件存在是有充分理由的(安全/资源管理等)。php.net 网站上有很多关于 .ini 文件中设置的资源
    【解决方案3】:

    将以下代码添加到主题的function.php文件中

    @ini_set( 'upload_max_size' , '64M' );
    @ini_set( 'post_max_size', '64M');
    @ini_set( 'max_execution_time', '300' );
    

    用下面几行将 php.ini 创建到根文件夹中:

    upload_max_filesize = 64M
    post_max_size = 64M
    max_execution_time = 300
    

    将代码添加到 .htaccess 文件中:

    php_value upload_max_filesize 64M
    php_value post_max_size 64M
    php_value max_execution_time 300
    php_value max_input_time 300
    

    【讨论】:

    • 链接将来可能无法使用,请包括解释和/或示例
    • “教程”的“链接”对这个人没有帮助;这是一个“特定”问题。编辑:此评论根据原始答案*.com/revisions/41464226/1
    • 我已删除链接。
    【解决方案4】:

    php -i | grep 'upload_max_filesize' 给了你什么?您设置的10M 或其他值。如果它给你后者,那么你正在编辑错误的 php.ini 文件。您可以使用php --ini 来确定加载了哪个配置文件

    【讨论】:

    • 这更像是一个问题/评论,你有足够的代表。
    • php -i 对我来说是一个错误的地方。执行phpinfo() 实际上向我展示了 实际 php.ini WordPress 实例曾经和正在使用。
    【解决方案5】:

    最初,我尝试了 JezEmery 的答案,但对我来说,解决方案是在终端上输入时出现的

        locate php.ini
    

    我把其他东西作为打印输出

        /usr/lib/php/7.0/php.ini-development
        /usr/lib/php/7.0/php.ini-production
        /usr/lib/php/7.0/php.ini-production.cli
        /usr/lib/php/7.1/php.ini-development
        /usr/lib/php/7.1/php.ini-production
        /usr/lib/php/7.1/php.ini-production.cli 
    

    然后更改 php7.1 文件,因为我的 apache 使用 7.1 版的 php,最后,我通过

    重新启动 apache
        systemctl restart apache2
    

    【讨论】:

      【解决方案6】:

      只需将这些代码行添加到 C:/xampp/php.ini

      upload_max_filesize = 64M
      post_max_size = 64M
      max_execution_time = 300
      

      重新启动xampp控件并检查面板会增加文件大小

      【讨论】:

        【解决方案7】:

        cwp(控制web面板)如果你使用php-fpm,你必须在这个目录下修改php.ini/opt/alt。或者您可以从控制面板执行此操作:Dashboard>PHP Settings>PHP-FPM Selector> PHP-FPM xx >Edit php.ini an after change upload_max_filesize ,使用左侧的相关(黄色)按钮重新加载 PHP。

        source

        【讨论】:

          【解决方案8】:

          如果您使用的是 php-fpm 而不是 Apache,有时在完成上述所有操作后,您需要重新启动 php7.4-fpm 服务。根据您的 PHP 版本,它的名称可能会有所不同。

          sudo systemctl restart php7.4-fpm
          

          【讨论】: