You are here:  Home » PHP » 如何修复WordPress中的HTTP图像上传错误

WordPress上传媒体时是否看到HTTP错误?当您使用内置媒体上传器将图像或其他文件上载到WordPress时,通常会发生此错误。在本文中,我们将向您展示如何轻松修复WordPress中的HTTP图像上载错误。

How to fix http error when uploading images in WordPress

在WordPress中媒体上传期间导致HTTP错误的原因是什么?

当您尝试使用WordPress媒体上传器上传文件时,有许多事情可能导致HTTP错误。基本上,WordPress无法找出原因,这就是它显示通用“HTTP错误”消息的原因。

HTTP Error

令人沮丧的是,此错误消息并未提供任何可能导致此问题的线索。这意味着您将不得不尝试不同的解决方案来查找原因并修复错误。

话虽这么说,让我们来看看如何在WordPress中的媒体上传过程中解决和修复HTTP错误。

1.确保HTTP错误不是临时的

首先,您应该等待几分钟,然后再次尝试上传您的图像文件。此错误有时是由异常流量和低服务器资源引起的,这些资源会在大多数WordPress托管服务器上自动修复。

如果这不起作用,那么您可能想尝试上传不同的图像文件。如果其他文件成功上传,请尝试将原始图像文件保存为较小的大小并重试上载。

最后,您可能希望尝试将文件保存为其他格式。例如,使用图像编辑软件将jpeg更改为png。之后,重试上传文件。

如果所有这些步骤都导致HTTP错误,那么这意味着错误不是由临时故障引起的,并且肯定需要立即引起注意。

2.增加WordPress内存限制

导致此错误的最常见原因是缺少可供WordPress使用的内存。要解决此问题,您需要增加PHP可以在服务器上使用的内存量。

您可以通过将以下代码添加到wp-config.php文件来完成此操作。

define( "WP_MEMORY_LIMIT", "256M" );

代码WordPress内存限制增加到256MB,这足以解决任何内存限制问题。

File uploaded successfully

3.更改WordPress使用的图像编辑器库

WordPress在PHP上运行,它使用两个模块来处理图像。这些模块称为GD Library和Imagick。 WordPress可以使用其中任何一个,具体取决于哪一个可用。

但是,众所周知,Imagick经常遇到导致图像上传过程中出现http错误的内存问题。要解决此问题,您可以将GD库设置为默认图像编辑器。

您只需将此代码添加到主题的functions.php文件或特定于站点的插件即可。

function wpb_image_editor_default_to_gd( $editors ) {
	$gd_editor = "WP_Image_Editor_GD";
	$editors = array_diff( $editors, array( $gd_editor ) );
	array_unshift( $editors, $gd_editor );
	return $editors;
}
add_filter( "wp_image_editors", "wpb_image_editor_default_to_gd" );

添加此代码后,您可以使用媒体上传器重试上传文件。如果这不能解决问题,那么您可以删除此代码并尝试本文中描述的其他方法。

4.使用.htaccess方法

此方法允许您控制Imagick如何使用服务器资源。许多共享托管服务提供商限制了Imagick使用多个线程进行更快速图像处理的能力。但是,这会导致您在上载图像时看到http错误

一个简单的解决方法是在.htaccess文件中添加以下代码:

SetEnv MAGICK_THREAD_LIMIT 1

代码仅限制Imagick使用单个线程来处理图像

我们希望这篇文章可以帮助您在WordPress中的媒体上传过程中修复HTTP错误。您可能还希望查看我们的WordPress故障排除指南以及最常见的WordPress错误的最终列表以及如何解决这些错误。