修复上传文件超出 php.ini 中的 Upload_Max_Filesize 指令错误

已发表: 2024-03-20

当您将文件上传到网站或服务器并遇到错误消息“上传的文件超出了 php.ini 中的 upload_max_filesize 指令”时,就像撞到了一堵看不见的墙一样。 此错误直接表明您的服务器的 PHP 配置存在限制,导致您的文件无法通过。 要了解此错误,需要深入了解 PHP 设置的工作原理以及它们对您的网站或应用程序的文件处理功能的含义。

这个错误意味着什么

限制上传文件大小的想法可以归结为实际需要:保留服务器资源。 网络托管提供商实施此限制是为了确保服务器对每个人都保持快速和响应。 文件大小上限(以兆字节 (MB) 为单位)由称为“upload_max_filesize”的特定指令控制。

“upload_max_filesize”设置位于名为“php.ini”的配置文件中。 该文件是运行 PHP 的应用程序的服务器设置的支柱,PHP 是 Web 开发中广泛使用的服务器端脚本语言。 当您遇到与超过 upload_max_filesize 限制相关的错误时,这个 PHP 配置设置就是问题的核心。

需要注意的是,此上传限制不是 WordPress 或任何其他应用程序自行决定的。 但是,当您尝试上传媒体时,您肯定会在 WordPress 中遇到此限制。 例如,如果您导航到 WordPress 仪表板上的“媒体”→“添加新内容”,您将看到此处指定的最大上传文件大小。 此限制因您的托管提供商而异。 例如,10Web 提供 128 MB 的限制,这足以满足大多数需求。 相反,其他托管服务可能会将此限制设置为低至 2 MB 或 4 MB,这可能非常严格。

因此,当您尝试上传大于允许限制的文件时,您会遇到“上传的文件超出 php.ini 中的 upload_max_filesize 指令”错误。 或者,您可能会看到类似“文件名超出此网站的最大上传大小”之类的变体。

了解这一限制并了解如何驾驭它是有效管理网站的关键。 如果您发现自己经常遇到此限制,可以通过多种方法进行调整,其中包括访问和修改“php.ini”文件,或使用其他方法,例如适用于 WordPress 的“.htaccess”或“wp-config.php” -特定网站。 每种方法都有其自己的一组步骤和注意事项,但调整此限制可以极大地增强站点的媒体处理能力,使其更加通用和用户友好。

此错误的变体

根据您所处的环境,此错误可能会以多种方式出现。一些常见的变化包括:

  • Web 应用程序中“文件太大而无法上传”
  • WordPress 或其他 CMS 平台上“超出了此网站的最大上传大小”
  • 直接引用 PHP 错误日志或调试工具中的 `upload_max_filesize`
  • 尝试在某些 Web 界面中上传文件时出现一般性“HTTP 错误”

出现此错误的原因

有多种原因可能会触发此错误,包括:

服务器默认设置:许多服务器默认都带有保守的“upload_max_filesize”设置,通常为 2MB 或 8MB,以有效管理资源并防止滥用。

应用程序要求:某些应用程序或网站需要上传大文件(例如视频、PDF 或大型数据集),这很容易超出“php.ini”中设置的默认限制。

设置不匹配:“upload_max_filesize”指令不是控制文件上传的唯一设置。还必须适当配置“post_max_size”指令,它限制 POST 数据的最大大小; 否则,单独增加“upload_max_filesize”并不能解决问题。

修复上传文件超过php.ini中的upload_max_filesize指令

解决此错误涉及增加upload_max_filesize 您可以选择您最习惯的方法。 该方法还取决于您的托管服务提供的设置。

联系支持人员

有时,最简单的解决方案根本不需要您接触任何配置文件。

联系托管提供商的支持团队可能是解决此问题的最快且最轻松的方法。 这种方法不仅可以节省时间,还可以节省时间。 这是关于利用每天处理此类请求的专业人员的专业知识。 无论您运行的是小型博客还是大型电子商务平台,您的托管支持都可以确保您的网站顺利运行。

修改cPanel中的php.ini文件

调整“php.ini”文件中的“upload_max_filesize”和“post_max_size”指令是解除这些限制的直接方法。

`php.ini` 文件是服务器上 PHP 配置的基石。 根据您的托管设置,该文件通常可以在您网站的根目录或 PHP 配置目录中找到。

对于共享主机或无法直接访问文件的环境,cPanel 提供了一种用户友好的方式来编辑 PHP 设置,而无需打开文本编辑器或通过 SSH 访问服务器。

使用 cPanel 编辑 `php.ini` 设置

cPanel 中的多 php ini 编辑器

  1. 登录 cPanel 仪表板并在“软件”部分下查找“MultiPHP INI 编辑器”。 该工具旨在简化修改 PHP 配置的过程。
  2. 进入 MultiPHP INI 编辑器后,您将看到一个下拉菜单,您可以在其中选择要调整设置的特定域或应用程序。
  3. 选择站点后,查找“upload_max_filesize”和“post_max_size”指令。 这两个设置分别控制可以通过 PHP 上传的文件的最大大小以及 PHP 将接受的 POST 数据的最大大小。 将这两个值设置为您需要的任何限制。
  4. 输入新值后,请确保保存更改。

cPanel 中上传文件最大大小

为了确保一切按预期工作,请尝试上传之前超出限制的文件。 如果操作正确,您应该不会再遇到上传大小错误。

在某些情况下,尤其是在 VPS 或专用服务器上,您可能需要重新启动 Web 服务器才能使更改生效。 这通常可以通过 cPanel 界面或联系托管提供商的支持来完成。

通过FTP修改php.ini

并非所有主机都允许直接修改“php.ini”文件,从而导致涉及“.htaccess”文件的有趣解决方法。 您可以检查您是否有权更改或创建

使用 FTP 客户端创建 php.ini 文件。 如果这不起作用,那么您可以继续修改 .htaccess 文件。

修改或创建 php.ini 文件

  1. 使用 FTP 客户端访问您的服务器。 此步骤需要 FTP 凭据,这些凭据通常由您的托管服务提供。
  2. 导航到站点的根文件夹,通常名为“public_html”、“www”或类似名称。 它是存放网站文件的目录。
  3. 如果根文件夹中已存在“php.ini”文件,请使用文本编辑器打开它。 如果没有,请创建一个新的文本文件并将其命名为“php.ini”。
  4. 添加或修改以下行。 根据您的要求调整数字:
 上传最大文件大小 = 12M
post_max_size = 13M
内存限制 = 15M

“upload_max_filesize”和“post_max_size”值确保您可以上传大文件,而“memory_limit”则影响 PHP 脚本可以消耗的内存量,这对于密集型插件或主题至关重要。

某些托管环境,尤其是运行 suPHP(一种在所有者权限下执行 PHP 脚本的工具)的环境,需要在“.htaccess”文件中进行特殊声明以确认“php.ini”更改。

使用以下代码编辑您的 .htaccess 文件,将您的用户名替换为您网站的真实文件路径: <IfModule mod_suphp.c>

 suPHP_ConfigPath /home/您的用户名/public_html
</如果模块>

修改 .htaccess 以增加上传限制

此方法对于那些因主机限制或仅仅因为更改未按预期生效而因“php.ini”修改而陷入停滞状态的人特别有用。 以下是如何使用“.htaccess”文件来调整 PHP 设置,特别是针对文件上传限制和内存分配。

htaccess 文件以红色突出显示,并出现在 FTP 客户端的网站文件列表中。

  1. 通过 FTP 连接到您的站点
  2. 连接后,导航到站点的根文件夹,通常名为“public_html”或“www”。
  3. 找到“.htaccess”文件。 它应该位于您网站的根目录中。
  4. 如果您看不到它,请确保您的 FTP 客户端设置为通过导航到“服务器”>“强制显示隐藏文件”来显示隐藏文件。
  5. 双击 .htaccess 文件以使用文本编辑器将其打开。 如果您因为不存在而要创建一个新文件,只需创建一个新的文本文件并将其命名为“.htaccess”即可。
  6. 在文件顶部添加以下行,调整值以满足您的特定需求:
 php_value upload_max_filesize 12M
php_value post_max_size 13M
php_value 内存限制 15 M

需要注意的是,进行这些更改后,如果您的站点开始显示内部服务器错误,则您的服务器可能正在 CGI 模式下运行 PHP,该模式不支持这些“.htaccess”指令。

删除刚刚从“.htaccess”文件中添加的行以恢复站点的功能。

为 10Web 客户调整 PHP 值

10Web 使用 NGINX 而不是 Apache,这意味着无需修改“.htaccess”文件。 对于遇到上传限制问题的 10Web 用户,10Web 有一种快速且用户友好的方法。 您可以在仪表板中找到解决方案。

从 10Web 仪表板更改 PHP 上传限制。

要调整或增加站点的 PHP 值:

  1. 登录您的 10Web 帐户。
  2. 单击发生错误的网站。
  3. 导航至“托管服务”>“工具”。
  4. 向下滚动并点击“高级设置”。
  5. 要修复错误,请单击下拉列表并调整“上传限制”的值。
  6. 单击“保存”以实施更改。

结束语

导航“上传的文件超出 php.ini 中的 upload_max_filesize 指令”错误涉及基于服务器设置和访问级别的几种不同策略。 我们已经讨论了 php.ini 文件中的直接调整以及在 Apache 服务器上利用 .htaccess 文件。 对于直接文件访问不可行的情况,建议联系托管支持。 对于 10Web 客户,情况略有不同,因为 10Web 使用 NGINX,不支持 .htaccess 修改。 然而,10Web 提供了一种简化的、用户友好的方法,可以直接从仪表板调整 PHP 值。 每种方法都旨在增强网站的功能,实现更大的文件上传并提高性能。

利用 AI 加速 WordPress 网站创建

使用 10Web AI Website Builder 创建适合您业务需求的自定义 WordPress 网站,速度提高 10 倍。

生成您的网站
无需信用卡