如何增加 WordPress 中的最大文件上传大小
已发表: 2023-02-15
设置较低的 WordPress 最大文件上传大小限制的惯例可防止您上传大文件、插件和主题。 这通常很好,因为无论如何您都不应该向网站访问者提供大于 25MB 的图像。
但是,如果你有一个特定的用例,你确定你需要能够上传更大的文件——这里是如何更改 WordPress 中的最大文件上传大小限制:
为什么要增加最大文件上传大小?
当您从提供商处购买主机时,他们会分配一个默认的文件上传大小。 限制通常会有所不同,从 2 MB 开始一直到 500 MB 或更高。 在 Servebolt,默认文件大小为 50 MB,但您可以轻松更改它。
默认文件大小可能看起来(相对)小的原因是将大文件上传到服务器可能会导致它消耗更多资源。 因此,您可能会遇到服务器超时或加载时间缓慢的情况。
注意:通常不建议更改最大文件上传大小。如果您是 Servebolt 客户,如果您想讨论您的具体情况以及您考虑进行此更改的原因,请随时联系我们的支持团队。
如何检查最大文件上传大小限制
WordPress 相当直观,会自动显示文件上传大小。 要检查最大文件上传大小,只需转到您的媒体库,然后单击添加新的。
WordPress 将在“选择文件”按钮下方显示最大上传大小,如下所示。
如您所见,此示例中的最大文件大小为 50 MB。 现在,这里有一些简单的方法,您可以按照这些方法来更改它。
更新 .htaccess 文件(我们推荐的方法)
如果您的服务器使用 Apache,更改最大文件上传大小的最简单方法是更新 .htaccess 文件。 在 .htaccess 文件中添加几行代码就足以更改最大文件上传大小。
要访问 .htaccess 文件,您可以使用像FileZilla这样的简单 SFTP 客户端。 然后,只需在记事本或任何文本编辑器中打开您的 .htaccess 文件,然后添加下面的代码。
注意:您还可以使用 SSH 编辑 .htaccess 文件。了解更多。
php_value upload_max_filesize 500M
php_value post_max_size 500M
首先了解这些的含义很重要。 正如您可能猜到的那样,这些是控制文件或整个帖子大小的默认 PHP 值。
php_value php_value post_max_size 500M
表示整个POST 请求的最大文件大小,而另一个表示您上传的每个文件的最大上传大小。 POST 是用于将文件发送到服务器的最常用方法,如果其大小小于文件大小,上传将失败。
更改 php.ini 文件设置(不适用于 Servebolt 用户)
查找 php.ini 文件
php.ini 文件可以位于许多不同的地方,并且在某些服务器类型上,每个网站使用不同的 php.ini 文件。 CLI(命令行界面)还有一个不同的 php.ini。
大多数情况下,php.ini 位于这两个位置之一
/etc/php.ini
/etc/php/[VERSION NUMBER]/[MACHINE TYPE]/php.ini
通过搜索确保您编辑的是正确的。
对于命令行
如果是远程服务器,则需要先通过 ssh 连接到服务器;如果是本地服务器,则需要先打开终端。 运行以下命令将回复所有提到 php.ini 的行
php -i | grep php.ini
这将给出如下响应:
加载的配置文件 => /etc/php/8.0/cli/php.ini
其中粗体信息是加载的php.ini所在的路径
对于网络服务器
在 webroot 中创建一个名为 test.php 的文件并输入这一行
<?php phpinfo(); ?>
然后转到您的网站并打开文件。 即https://yoursite.com/test.php它将显示所有配置信息。 在第一个框中,您会找到 php.ini 信息。 使用后不要忘记删除此文件,它会暴露敏感信息。
注意:根据您的服务器设置,服务器和命令行可能在两个不同版本的 PHP 上运行,并且几乎肯定会使用不同的 php.ini 文件(或者 php.ini 文件将相互覆盖) ).
编辑你的 php.ini 文件
php.ini 文件用于添加对默认 PHP 设置的更改。 通常,php.ini 文件包含管理文件超时、资源限制和最大上传限制的说明。
注意:如果您是当前的 Servebolt 客户,则无法直接编辑 php.ini 文件——我们建议使用 .htaccess 来覆盖配置更改。
通常,您只能以超级用户身份编辑 php.ini 文件。 因此,您将需要具有sudo功能的SSH或终端访问。要编辑文件,请使用 nano 之类的东西打开 php.ini 的路径

sudo nano /etc/php/7.4/apache2/php.ini
要更改最大文件上传限制,只需将以下代码添加到 php.ini 文件的末尾:
upload_max_filesize = 100M
post_max_size = 200M
memory_limit = 128M
完成这些更改后,只需保存文件即可。
在某些情况下,可能无法访问 php.ini 文件。 要解决这个问题,可以修改 .user.ini 文件。 .user.ini 文件位于您的 webroot 目录中
如果可以在您的主机上使用,只需创建一个具有相同名称的新文件,并向其中添加以下代码:
upload_max_filesize = 100M
post_max_size = 200M
memory_limit = 128M
在 NGINX 中修改最大上传文件大小
注意:此方法不适用于 Servebolt Cloud,但如果您在 NGINX 环境中运行 WordPress 并有权访问您的 nginx.conf 文件,则可以选择此方法。
Nginx 是一个面向 Internet 的 Web 服务器,类似于 Apache。 NGINX 能够处理压缩、缓存和 SSL 协商,因此速度要快得多。
要更改文件大小,您还必须修改 nginx.conf 文件。 要更改文件大小,请转到/etc/php/[php version]/fpm/php.ini.
完成后,您需要启用更改。 为此,您需要重新启动 PHP-FPM,您可以通过在终端中输入以下代码来完成此操作:
sudo service php8.0-fpm restart
例如,如果您使用的是 PHP 7.4,则应将 8.0 替换为 7.4。 完成后,下一步是使用client_max_body_size
更改最大文件上传大小限制。
此更改必须在 nginx.conf 文件中声明。 要遵循的文件路径是/etc/nginx/nginx.conf。
以下是添加这些内容的方法:
- HTTP 块:如果您在此处声明它,它将影响您服务器上托管的所有站点。
- 服务器块:在这里,文件更改指令将仅影响服务器上的特定应用程序或站点。
- 位置块:这只影响指定的目录。
更改 WordPress Multisite 上的最大文件上传大小
使用 WordPress 多站点时,WordPress 管理仪表板中有一个辅助选项,用于为多站点中的所有站点设置最大上传大小。
注意:这不会覆盖PHP 设置的最大上传大小限制,因此您不应设置高于服务器最大上传大小限制本身的限制(因为它会被服务器忽略)。我们建议使用前面描述的方法直接更改服务器上的配置。
WordPress Multisite 默认最大上传大小为 1.5MB,这在 WordPress 网络管理设置中显示为 1500KB。
要调整此设置,请进入 WordPress 管理屏幕 => 我的站点 => 网络管理 => 仪表板。 在接下来的屏幕上,单击设置 => 网络设置并向下滚动到底部找到标记为“最大上传文件大小”的字段并将其更新为您想要的。 每个 1000 是 1 MB,所以 50MB 就是 50000KB。 输入所需的值后,单击蓝色的“保存更改”按钮。
警告的话
请注意,在很多情况下,当用户请求更大的文件大小上传时,这是因为他们没有被教导如何在将图像发送到服务器之前调整图像大小,或者他们选择了错误的文件类型导致图像太大比需要的大。
例如,他们可能会为照片上传 RAW 或 TIFF 文件,而 JPEG 文件会小得多。 或者,也许他们正在上传分辨率极高的照片(高于推荐给网站访问者的分辨率),而事实上,将尺寸调整为更小的尺寸才是更好的处理方式。
作为站点所有者,请始终仔细检查这是否是培训问题或需要更改服务器配置的问题。
当然,古老的互联网格言是正确的,“性能为王”,因此拥有非常大的图像文件会扼杀这种前景。 根据网站用户所在的位置,如果图像很大,则可能需要更长的时间来为页面提供服务,并且用户的数据包也会花费更多。 更长的等待时间或昂贵的页面将增加访问者不会返回的机会。 确保提供高效的图像。
在 Servebolt,借助我们完全托管的Accelerated Domains服务,我们可以根据浏览器大小动态调整图像大小,让您的网站只提供应有大小的图像,从而让这一切变得简单。
总结——有几种方法可以增加最大文件上传大小
如您所见,有多种方法可以增加最大文件上传大小。 您可以通过 .htaccess 文件或更新 php.ini 文件来增加它。 但是,如果您不是很懂技术,最好的方法是使用插件(如上所示)非常快速轻松地增加最大文件上传大小。
对经验上更快的托管 WordPress 托管感兴趣? 尝试 Servebolt 方式:
- 可扩展性:在真实用户工作负载测试中,Servebolt 的平均响应时间为 65 毫秒,比第二名快 4.9 倍。
- 最快的全球加载时间:1.26 秒的平均页面加载时间使我们在全球 WebPageTest 结果列表中名列前茅。
- 最快的计算速度:Servebolt服务器提供前所未有的数据库速度,每秒处理的查询数是平均水平的2.44倍,运行PHP的速度是第二名的2.6倍!
- 完美的安全性和正常运行时间:所有监视器的正常运行时间均为 100%,并且我们的 SSL 实施获得 A+ 评级,您可以放心您的网站在线且安全。
全部由我们的专家团队提供支持。 立即试用 Servebolt免费测试 Bolt。