如何解决将图片上传到 wordpress 媒体库失败的问题

有很多原因可能导致这个问题,这里尝试几种不同的方法来解决这个问题。

问题描述

我们通常遇到的错误提示如下:

Post-processing of the image failed likely because the server is busy or does not have enough resources. Uploading a smaller image may help. Suggested maximum size is 2500 pixels.

在以下不同的情况(可能还有其他情况),都可能会出现此错误:

  • 在 WordPress 块编辑器 (Gutenberg) 中粘贴图片
  • 使用图像块编辑器上传图片到媒体库
  • 在文章编辑页面通过特色图像上传图片
  • 从管理后台上传图片到媒体库

大多数时候,是在将图片上传到 WordPress 时遇到的问题。但错误的提示并不准确,很可能不是服务器太忙而无法为您服务,并且上传较小的图片时也会出现类似错误提示。因此,这更有可能是配置中的问题。因为我遇到问题时上传的图片绝对符合错误中列出的尺寸标准。它的尺寸是1200×800。

我在用(曾用)的解决方法

首先介绍一种最简单,但操作起来效率并不高的解决方案,至少可以在遇到此类问题时,作为替代方案,以使我们能正常的保存、发布文章。

通过管理后台的媒体库添加图片,然后回到(先将文章保存,再重新打开)文章编辑页面,这样就可以正常使用了。

其他可能的解决方案

How to fix “Post-processing of the image failed likely because the server is busy or does not have enough resources.” when uploading pictures to WordPress Media Library?

因为有很多可能的原因会导致此类问题,所以也会有很多可能的方案来解决此类问题。

1.尝试使用其他浏览器上传文件

尝试使用另一个浏览器上传您的文件,或者只是清除您的缓存以查看是否有帮助。

使用隐身/私人浏览模式也可以解决问题!

2.重命名要上传的文件

不要使用奇怪的文件名!撇号、引号、感叹号——诸如此类的东西是有风险的。服务器不总是能理解比你的基本拉丁字符集更多的东西。

尝试将您的文件重命名为仅包含 a-z 和数字的文件,看看是否有帮助。

3.删除网站的所有 cookie

删除网站的所有 cookie后,会要求您再次登录,但很有可能它实际上会解决问题,并让您再次上传媒体文件。

4.验证您的上传限制

打开管理后台的媒体库,点击添加文件,查看上传文件的大小限制

验证上传文件大小限制

有多种方法可以改变这个值。如果您有权访问 php.ini 文件,可以修改它,如果您无权访问它(也许您在共享主机上?),您还可以编辑您的 .htaccess 文件以添加如下内容:

# BEGIN Increase upload max filesize
According to this: https://www.koskila.net/fixing-issues-with-uploading-pictures-to-wordpress-media-library/
php_value upload_max_filesize 128M
php_value post_max_size 128M
# END

您可以删除以 (#) 开头的行,它们只是向您未来的自己解释为什么您将这部分添加到配置中的注释!

5.验证您的服务器资源

验证 WordPress 是否能够使用它想要的服务器资源是有意义的。毕竟,错误直接说明了这一点:

Post-processing of the image failed likely because the server is busy or does not have enough resources. Uploading a smaller image may help. Suggested maximum size is 2500 pixels.

尽管指出了问题所丰,但服务器资源耗尽几乎从来都不是问题的原因。当然,验证起来很简单:

到 cPanel(或任何可用的服务器/帐户管理软件)并查看“统计”部分(或等效项)以查看内存使用量是否接近最大值。

设置 WordPress 使用更多资源可能是个好主意。如果您可以编辑 php.ini 文件,则可以将其添加到文件中:

memory_limit = 512M

您也可以尝试将其添加到 .htaccess文件:

# BEGIN Increase memory limit
php_value memory_limit 512M
# END

或者,您可以将其添加到您的 wp-config.php 文件中:

define( 'WP_MEMORY_LIMIT', '512M' );

6.选择支持的 PHP 版本

很多人在 PHP 7.3 或 PHP 7.4 上会更多的出现这个问题。虽然wordpress确实适用于 PHP 7.3,但您可以尝试看看降级到 PHP 7.2 是否对您有帮助。至少这会帮助你缩小问题的范围!

7.启用所需的 PHP 模块

验证您的 PHP 版本是否启用了名为“Imagick”的模块。这可以通过在您的网络托管服务提供商的配置面板中找到您的 PHP 模块并通过它们来找到它们来完成。

8.启用所需的 Apache 模块

需要启用一个名为 mod_fcgid 的模块。

9.绕过 GD 编辑器

也有人将以下代码添加到 functions.php:

function use_gd_editor($array) {
return array( 'WP_Image_Editor_GD', );
}
add_filter( 'wp_image_editors', 'use_gd_editor' );

10.尝试禁用或绕过Cloudflare

这样可以缩小问题的范围。 Cloudflare 作为代理,因此虽然它本身可能不会破坏任何东西,但WordPress 可能因此出现问题。Cloudflare 也可能会忽略调试问题所需的错误消息!

11.使用 .htaccess 禁用 SecFilterEngine 和 SecFilterScanPost

# BEGIN a horrible hack to fix upload errors
SecFilterEngine Off
SecFilterScanPOST Off
# END a horrible hack

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据