默认情况下,由于技术和安全原因,WordPress 和托管服务提供商会限制文件上传大小。需要上传超出预设限制的文件时通常会收到错误消息,并且上传失败。本文将介绍如何解决该问题。

发生此问题的两个最常见的原因是由于将文件大小上传限制添加到以下两个区域:

  • php.ini 中的 upload_max_filesize 指令
  • 致命错误:xxxx 行上的 /home/your-username/public_html/wp-includes/plugin.php 中的 xxxxx 字节已用尽的内存大小(试图分配 xxxxx 字节)

有多种增加 WordPress 最大上传文件大小限制的方法。在本文中,我将只讨论对大多数 WordPress 网站有效的最流行的方式。但是在深入讨论之前,我将讨论在此问题中起重要作用的三个变量。

  • Upload_max_filesize:此变量定义单个文件的最大上传大小。
  • Post_max_size:此变量定义 POST 请求的最大上传限制。请注意,单个请求可能包含多个文件。
  • 内存限制:此变量定义单个脚本的内存限制。此限制可以等于或大于 upload_max_filesize。

注意:两者之间有关系 upload_max_file 的大小 和 post_max_size。在很多情况下post_max_size 设置为高于 upload_max_filesize 的值。例如,如果你有几个 5MB 的文件,并且upload_max_filesize 设置为 5 MB, post_max_size 设置为 20 MB,然后 post_max_size 最多只能包含 4 个文件。

默认的 WordPress 最大上传文件大小限制

可以通过以下方法找到默认的文件上传大小限制媒体 => 添加新内容。从以下屏幕截图中可以看到,默认的最大上传文件大小设置为 10MB。

当前文件上传大小

在本教程中,我将限制设置为 20MB。如前所述,有多种增加上传文件大小限制的方法。

1. 修改或创建 php.ini

php.ini(位于托管帐户的根目录中)是一个配置文件,可在运行时自定义 PHP 的行为。它包含设置列表,包括最大上传文件大小,最大执行时间,上传目录,全局变量和显示错误。

出于安全考虑,几乎所有托管服务提供商都将其隐藏。要访问文件,请登录托管帐户,然后导航到根目录并搜索 php.ini。记得要打开“显示隐藏的文件”功能。如果没有这样的文件,请使用以下名称创建一个新文件:“ php.ini”。确保文件包含上述三个变量。

由于我们需要将最大文件上传大小设置为 20 MB,因此我将更改 upload_max_filesize 到 20 MB 和 post_max_size 到 25 MB,以便在帖子正文中使用一个 20 MB 的文件。好的做法是 post_max_size 超过 upload_max_filesize。

upload_max_filesize = 20M
post_max_size = 25M
memory_limit = 30M

请注意,某些托管服务提供商将文件重命名为 php5.ini

2.修改(或创建).htaccess 文件

WordPress .htaccess 是 Hypertext Access(超文本访问)的缩写,它是 Apache 服务器使用的配置文件。通常,它位于根目录中。如果文件不存在,请使用确切的文件名和扩展名 “.htaccess” 创建它。

假设你已经有了该文件,将以下代码行复制并粘贴到该文件的下面:

php_value upload_max_filesize 20MB
php_value post_max_size 25MB
php_value memory_limit 30MB

注意:在搜索.htaccess 时,请勿忘记标记 “显示隐藏文件”。你的托管服务提供商可能会将其隐藏。

3.修改 WordPress 文件

以上两种方法是增加文件上传大小的最推荐方法。但是,由于其他特殊原因,当这些方法都不起作用时,则需要编辑 WordPress 的配置文件。打开 wp-config.php 或 functions.php 文件,并粘贴以下代码行:

@ini_set( ‘upload_max_size’ , ’20MB’ );
@ini_set( ‘post_max_size’, ’25MB’);
@ini_set( ‘memory_limit’, ’30MB’ );

4.通过插件增加 WordPress 上传文件的大小

WordPress 的优点在于,WordPress 有着许多出色的插件。如果不想手动增加文件上传大小,则可以使用名为 “Increase Maximum Upload File Size”,只需输入以字节为单位的值(1024000 字节 = 1 MB)即可。对于 20 MB,将 1024000 乘以 20,然后在文本框中输入 20480000。单击保存更改。

该插件可以自动检测文件上传大小,并且增加文件上传大小。只需要激活插件,然后转到侧边栏的"Increase Maximum Upload File Size",接着设置最大文件上传大小即可。

如果上传更大的文件时,通过 FTP 上传会很方便。