如何解决WordPress上传的文件大小超过php.ini限制

错误类型:
WP内部错误
错误名称:
上传的文件尺寸超过php.ini中定义的upload_max_filesize值
英文名称:
the uploaded file exceeds the upload_max_filesize directive in php.ini
错误描述:
请务必记住,此上传限制不是WordPress设置。但是,如果您转到Media → Add New,则可以在WordPress站点中看到此限制。

如何修复上传的文件大小超过php.ini限制

尝试将某些内容上传到您的WordPress网站时却收到一条消息,提示“上传的文件尺寸超过php.ini中定义的upload_max_filesize值”?

当您上传大图像、视频、插件、主题以及您上传到WordPress网站的任何类型的文件时,可能会出现此错误消息。

在本教程中,我们将帮助您解决问题并使其能够上传这些大文件。总的来说,我们将涵盖:

什么导致上传的文件超过php.ini中定义的upload_max_filesize值

上传文件超过php.ini中定义的upload_max_filesize值的示例

上传文件超过php.ini中定义的upload_max_filesize值的示例

让我们从头开始。为了保留服务器的资源,主机对可以上传的文件的最大大小设置了限制。

这个最大值(以兆字节为单位)在upload_max_filesize值中定义。

upload_max_filesize的值本身位于的php.ini文件,这是默认的服务器配置文件需要PHP应用程序。

这两件事——upload_max_filesizephp.ini——是你看到的错误消息所引用的内容。

请务必记住,此上传限制不是WordPress设置。但是,如果您转到Media → Add New,则可以在WordPress站点中看到此限制:

如何检查WordPress中的上传限制

如何检查WordPress中的上传限制

正如您在上面看到的,示例网站将默认限制设置为128MB,这是非常大的并且不太可能导致问题。但是,许多其他主机将默认值设置为仅2MB或4MB。

这意味着如果您尝试上传大于该限制的文件,您将看到“上传的文件超出了php.ini中定义的upload_max_filesize值”,或者类似的消息,如“ xx文件超出了该站点的最大上传大小”

如何修复上传的文件超过php.ini中定义的upload_max_filesize值

为了修复此错误,您需要增加文件大小上传限制。也就是说,您需要增加php.ini文件中定义upload_max_filesize的值。

有几种不同的方法可以做到这一点 – 您选择的确切方法将取决于您的偏好和主机的配置。

1. 与服务器提供商支持人员联系

虽然我们将介绍一些您可以自己尝试的方法,但最简单的解决方案通常是联系您的主机支持并要求他们为您增加限制。

这是一个常见的请求,您的主机的技术支持人员应该确切地知道您想要什么,并且只需要花费您几分钟的时间。这就是您的主机支持的目的!

2.通过cPanel编辑php.ini

如果您的主机使用cPanel,您应该能够通过cPanel仪表板编辑您的php.ini文件和upload_max_filesize值。

首先,寻找MultiPHP INI Editor

cPanel中的MultiPHP INI编辑器

cPanel中的MultiPHP INI编辑器

然后从下拉列表中选择您的WordPress站点。之后,您将能够编辑该站点的upload_max_filesize值:

更改cPanel中的upload_max_filesize值

更改cPanel中的upload_max_filesize值

根据您的需要增加数值。

3.通过FTP创建或编辑php.ini

正如您在上面了解到的,php.ini文件控制您的服务器如何为PHP应用程序工作。

不幸的是,根据您主机的限制,您可能会也可能不会使用php.ini文件。出于这个原因,有时更可靠的方法是使用 .htaccess(我们将在下一节中介绍)。

但是,您可以先尝试一下,看看是否允许您在主机上使用php.ini

首先,通过FTP连接到您的服务器并转到您站点的根文件夹。

如果您已经在根文件夹中看到一个php.ini文件,您可以编辑该文件。否则,创建一个新文件并将其命名为php.ini

如何创建一个新的php.ini文件

如何创建一个新的php.ini文件

然后添加或修改下面的代码片段:

  • 如果您创建了一个新文件,请粘贴代码片段并修改数字以满足您的需要。
  • 如果您正在编辑现有文件,请在现有文件中找到相同的指令并修改数字以满足您的需要。
upload_max_filesize = 12M
post_max_size = 13M
memory_limit = 15M

将代码添加到php.ini文件中

将代码添加到php.ini文件中

某些主机可能会进一步要求您在站点的.htaccess文件中添加suPHP指令,以便上述更改真正起作用。

为此,您还可以通过PHP编辑.htaccess文件并在文件顶部附近添加以下代码:

<IfModule mod_suphp.c>
suPHP_ConfigPath /home/yourusername/public_html
</IfModule>

确保替换/home/yourusername/public_html为您站点的实际文件路径。

4.通过编辑.htaccess增加upload_max_filesize值

如果通过上述方法直接创建或编辑php.ini文件不起作用,您还可以尝试通过编辑您网站的 .htaccess 文件来修改upload_max_filesize指令。

首先,通过FTP连接到您的站点并编辑位于站点根文件夹中的 .htaccess 文件。

然后,添加以下代码片段,确保根据您的需要调整值:

php_value upload_max_filesize 12M
php_value post_max_size 13M
php_value memory_limit 15M

如何通过 .htaccess控制php.ini文件

如何通过 .htaccess控制php.ini文件

如果您在添加此代码片段后收到内部服务器错误消息,则您的服务器很可能在CGI模式下运行 PHP ,这意味着您无法在.htaccess文件中使用这些命令。删除您刚刚添加的代码段,您的网站应该会重新开始运行。

注意 – 如果您是服务器使用NGINX,这意味着您的站点没有 .htaccess 文件。这种情况下,你只能考虑修改php.ini中的代码或者联系服务器提供商技术人员提供支持。

小结

要检查您的更改是否有效,您可以返回WordPress仪表板中的媒体 → 添加新文件,以查看新的最大上传限制是否与您在php.ini文件中设置的数量相匹配。如果一切顺利,您应该会看到您的新值,并且您将能够上传给您带来问题的文件。

最后,如果您尝试过的任何方法都不起作用,并且您的主机支持由于某种原因无法提供帮助,您可以随时通过FTP上传文件作为解决方法。FTP没有限制,可以让您上传从图像到插件和主题的所有内容。

评论留言